text:
Add finalizers or implement SafeHandle

There are a few managed handles that, if leaked, result in a native leak:

sqlite3
sqlite3_backup
sqlite3_blob
sqlite3_stmt

Luckily, SQLite has it's own memory management so the consequences are never severe.
This could be further mitigated, however, by adding finializers (or implementing SafeHandle) to the classes. This would allow the .NET garbage collector to free any native handles as soon as the managed wrappers go out of scope.
You're original statement on the matter still stands, however: If an object implements IDisposable, you should always dispose it.

I recall previous discussions, where it was agreed that in hindsight these low level wrappers should not of implemented IDisposable, but that it was too late to make that change. Finalizer support IMO really belongs in a higher level library. For instance, SQLitePCL.pretty goes to extreme lengths to guarantee proper disposal and finalization of sqlite resources.

I need to take a fresh look at this issue.  If a change can be made without breaking anything, I would like to make it.  But I need to be certain.
The sqlite3 C API expects the caller to manually manage memory.  In keeping with its low-level philosophy, SQLitePCL.raw passes that expectation and responsibility upward to its caller.
So there are two ways to think of a possible change:
(1)  New philosophy:  Instead of the statement just above, try this:  "SQLitePCL.raw takes care of memory management such that its caller no longer needs to worry about it."
(2)  Safety net:  Keep the philosophy, but treat the symptoms.  SQLitePCL.raw still expects the caller to be responsible, but it has certain things (finalizers) to minimize the damage when the caller drops the ball.
Choice (1) has some appeal, but I'm not convinced that it should be done.  Every time I think of implementing (1), the first thing that comes to mind is that I would still want the lower layer to preserve the C API semantics.  So it seems like I would be changing SQLitePCL.raw to become something else, and then introducing a new even-lower-level layer to become what SQLitePCL.raw was before, etc...
In a more practical sense, I'm skeptical about whether (1) can be done reliably with just finalizers.  And SafeHandle would be a breaking change.
So any realistic change in the short term is probably choice (2).  But this choice makes me squirm a little bit as well.  Covering up (some of) the consequences of a developer's mistake usually just makes the mistake harder to find.
Maybe I'm seeing this as a bit more bleak than it needs to be.  Push-back or corrections are welcome.

I'm fine implementing finalizers in my library to free these too. I just wanted to discuss it since adding them here would be convenient to all consumers.

I agree we should go with option 2. My intention was only as a safety net. It also allow me to pass the buck along to consumers of my API: You must dispose IDisposable objects. But instead of every library having to add it's own safety net, there would already be one provided by SQLitePCL.raw.

My motivation here is that if I'm writing a library and doing everything right (using IDisposable responsibly), I shouldn't have to treat the managed sqlite3 objects as native resources and add my own finalizers to explicitly dispose them to implement best practices. sqlite3 (and friends) are managed objects, and I should be able to assume they already implement .NET best practices with regards to freeing up unmanaged resources.

That's a reasonable perspective.
But just to clarify (since I tend to let the details around finalizers and GC get swapped out of my brain's RAM onto a slow disk):  If the library is "doing everything right", what case requires finalizers?

Also:
We're going to have an issue with ordering of the finalizer calls, right?  The sqlite3 handle can't be cleaned up until its sqlite3_stmt handles are all done.

@ericsink SQLitePCL.pretty handles the finalizing/disposing sqlite3 instances with open sqlite3_stmt handles via event handlers. It works quite well, but results in a non-threadsafe api. This isn't an issue for SQLitePCL.pretty which offers threadsafe via an async scheduling API, but I imagine would be a non-starter for raw.

I'll express a preference for deprecating (in documentation) support for IDisposable (though leave the interface intact), and requiring the use raw.sqlite3_close() etc.
Afaik, most higher level libraries built on raw that I previously looked at manually close connections/stmts/etc. using the the actual sqlite apis and don't depend on dispose().

If the library is "doing everything right", what case requires finalizers?

If consumers of my library don't dispose my objects which own sqlite3 handles.

We're going to have an issue with ordering of the finalizer calls, right?

This is why sqlite3_close_v2 was added.

This is why sqlite3_close_v2 was added.

Darn.  I knew that.  But I forgot.  :-(

There was also a comment about it not being available on the iOS (or was it OSX) version. So ...things might be getting a little messy.

BTW, I'm deferring wholly to what you think is best here, @ericsink; I'm not pushing one way or the other. I just wanted to have the conversation one last time.

Looks like all iOS versions >= 8.2 contain a SQLite new enough for sqlite3_close_v2.  This issue is fading away.

I just wanted to have the conversation one last time.

No worries here.  I see this kind of conversation as an opportunity to (1) learn, and (2) find the best answer.  I appreciate you bringing it up again.

most higher level libraries built on raw that I previously looked at manually close connections/stmts/etc. using the the actual sqlite apis and don't depend on dispose().

Interesting. Given that SQLite will eventually clean these things up anyway, I think deprecating IDisposable is also reasonable albeit a little unorthodox for .NET.

Just to be clear, the IDisposable issue here is not related to the issue of whether there should be a finalizer or not, right?  You guys are just suggesting that these objects should perhaps not offer Dispose() as an alternate spelling for sqlite3_close (et al)?

Current thinking:  Use SafeHandle, and use the opportunity to make the jump to 2.0.  I've got other stuff that has been waiting for a compatibility-breaking change, such as removing support for Windows Phone 8.0.

I dig it. While I agree with @bordoley that libraries need to be very aware of these native wrappers and always dispose/close/finalize/free them (or expose a way of doing that) it is also good to take advantage of the garbage collector to free any that slip through the cracks sooner rather than waiting for SQLite to do it later.

FYI, in aspnet/Microsoft.Data.Sqlite#386 I've started using raw.sqlite3_close_v2() explicitly instead of sqlite3.Dispose(), and added finalizers to explicitly free these objects whenever my library's objects go undisposed.

Which answers a question I was going to ask you:  Are you okay with restricting to iOS 8.2 and above?  (Looks like yes.)

@bricelam Could you take a look at commit 8e52dad?  I haven't had to do finalizers in quite a while, so I did some remedial study on the topic.  I'd love to have another pair of eyes reviewing the code.  :-)  Thanks.

LGTM

Fixed in version 1.1.8, which has been pushed to nuget.org.

authors: bordoley bricelam ericsink


text:
adding item to database does not indicate state of EntityState.Added

I am creating MacOS app with Xamarin.Forms.
I have only WordDB simple class
public class WordDB
{
    public int Id { get; set; }
     public int OnlineId { get; set; }
    public string Word { get; set; }
    public string Definition { get; set; }
 }
I have another async method to add new word to sqlite database.
var tracking = await _databaseContext.Words.AddAsync(word);
var res = await _databaseContext.SaveChangesAsync();
var isAdded = tracking.State == EntityState.Added;
at this point the res is equal to 1, which I believe indicates that all is ok.
but tracking.State is EntityState.Unchanged.
Why the state does not indicate Unchanged.Added?
When I check on mac, the database file is created as expected "words.db3", when I investigate it there is my table WordDB with all columns, and whenever I execute the above mentioned methods the state is still UnChanged but the new row is added to that table instantly.
What am I doing wrong?

Sorry, I can't help with this one. It looks like you should post it in the Entity Framework repo instead.

During SaveChanges, the pending changes are persisted to the database and the change tracker entries are reset. This allows additional changes to be made for the next SaveChanges. The SaveChanges method commits the current unit of work.

Closing old/stale issue.

source: gharchive/issue

authors: bricelam ericsink mister-giga

license_type: permissive

license_source: bigquery


text:
Docker fails to start

Logs of functioning version outside of docker.
> midjourney-discord@1.0.0 start
> ts-node cmd/bot.ts

open.time 0 2023-07-22T21:31:26.318Z
ws ready 2023-07-22T21:31:27.917Z
Bot started 2023-07-22T21:31:28.447Z

Using docker it stops after open.time
anyone knows what's happening?

For anyone experiencing this, I had to remove the quotes in the .env file passed to docker.

repo: erictik/midjourney-discord

license: MIT

license_source: github-api


text:
Error saving configuration profile

Can not save my profile as ConfigurationProfile.
I'm getting an error: "The document "profilename" could not be saved as "filename"

Thanks for the info, this could be anything from a poor error message to a bug. If you don't have anything secret in the profile, could you right click the profile in the main window and select "Show "<ProfileName>" in Finder" and then post that file here so I can test the same configuration on my end.

`

EditorSettings

DisableOptionalKeys

DistributionMethod
Any
PayloadContentStyle
Profile
PlatformIOS

PlatformMacOS

PlatformTvOS

ScopeSystem

ScopeSystemManaged

ScopeUser

ScopeUserManaged

ShowDisabledKeys

ShowHiddenKeys

ShowSupervisedKeys

ShowUserApprovedKeys

SignProfile

Identifier
08173B42-5D9B-4FA8-957C-B2B5401411A8
PayloadSettings

1

com.apple.general

PayloadDescription
Force password with 4char
PayloadDisplayName
macOS - PasswordPolicy
PayloadIdentifier
com.osit-group.08173B42-5D9B-4FA8-957C-B2B5401411A8
PayloadOrganization
Osit
PayloadUUID
08173B42-5D9B-4FA8-957C-B2B5401411A8
PayloadVersion
1

com.apple.mobiledevice.passwordpolicy

PayloadUUID
720733DB-36E5-4E89-BA18-6B5897DCB7F7
PayloadVersion
1
minLength
4
requireAlphanumeric

Title
macOS - PasswordPolicy
ViewSettings

1

com.apple.general

Enabled

Settings

PayloadDescription

Enabled

PayloadOrganization

Enabled

com.apple.mobiledevice.passwordpolicy

Settings

allowSimple

Enabled

forcePIN

Enabled

minLength

Enabled

requireAlphanumeric

Enabled

`

`

EditorSettings

DisableOptionalKeys

DistributionMethod
Any
PayloadContentStyle
Profile
PlatformIOS

PlatformMacOS

PlatformTvOS

ScopeSystem

ScopeSystemManaged

ScopeUser

ScopeUserManaged

ShowDisabledKeys

ShowHiddenKeys

ShowSupervisedKeys

ShowUserApprovedKeys

SignProfile

Identifier
08173B42-5D9B-4FA8-957C-B2B5401411A8
PayloadSettings

1

com.apple.general

PayloadDescription
Force password with 4char
PayloadDisplayName
macOS - PasswordPolicy
PayloadIdentifier
com.osit-group.08173B42-5D9B-4FA8-957C-B2B5401411A8
PayloadOrganization
Osit
PayloadUUID
08173B42-5D9B-4FA8-957C-B2B5401411A8
PayloadVersion
1

com.apple.mobiledevice.passwordpolicy

PayloadUUID
720733DB-36E5-4E89-BA18-6B5897DCB7F7
PayloadVersion
1
minLength
4
requireAlphanumeric

Title
macOS - PasswordPolicy
ViewSettings

1

com.apple.general

Enabled

Settings

PayloadDescription

Enabled

PayloadOrganization

Enabled

com.apple.mobiledevice.passwordpolicy

Settings

allowSimple

Enabled

forcePIN

Enabled

minLength

Enabled

requireAlphanumeric

Enabled

`

Sure.
Here you go: https://pastebin.com/L9EdLxAt

Thank you. There were two things:

I found a bug in the popUpButton implementation used by the key minLength that I will fix.

In the config you sent me, no payload was included in the profile. And that is a thing that's not communicated or shown how to be done anywhere. I don't know if that was the case for you, but the config I loaded looked like this. (see screenshot) And in the area below the "General" settings where I have marked, the payloads that will be exported has to be added to. Either by pressing the add button that is shown in the top right corner when a payload (other than General) is selected or by drag/drop.

This is something I know is not said anywhere and a user just has to figure it out. So I have that on my list to somehow make more obvious.
But, even if I added the passcode policy payload, the bug still prevented me from exporting.

Sorry, I missed the payload on the profile I've sent you, but the other times I run he was there.
I'm testing with other configs/payloads/profiles, and I can't save none of them.
Ok, I'm also having key minLength issue.

I had the same problem and I think maybe it's down to a simple usability issue. If you choose "Save as" (thinking it'll let you export the profile) with the profile document window active and set the format to "Configuration Profile" you'll get the incomprehensible "could not save" message.
I'm guessing @neives wanted to output a .mobileconfig file (like I did) and the way is to do it is to right click and choose "Export" in the listing on the Main Window

Yeah, I talked to another person on the MacAdmins slack about this issue and found the Save As confusion. I have removed the Save As menu item in the next update to avoid this. And from how the application is designed it is not needed. I will add export options instead to the menu and later to each profile editor window to make it easier to find and use. Don't know if it makes it in the next update but definitely the one after.

This is now fixed. Please open another issue if the problem has returned.

authors: DarthAndersen erikberglund neives

repo: erikberglund/ProfileCreator


text:
V6 - How to show field error on submit

Currently, to show the error, we check the field for touched and error. When we submit and get errors from the server, we have the error, but the field isn't touched, so the field error is not shown.
Example from the docs - Submit Validation. Click Log In and you won't see the field errors until you touch them.
What's the recommended way to show the errors?

It's supposed to mark all the fields as touched when you submit.
Sounds like you've found a bug. 👍  Well done.

Published fix as 6.0.0-alpha-15.

authors: VladShcherbin erikras

repo: erikras/redux-form


text:
handleSubmit swallowing errors

I'm currently returning promise in my own handleSubmit which gets rejected on error but it seems that redux-form is catching this and handling it internally.
Haven't been using redux-form for a long so might be thinking this totally backwards but I was hoping that I could just simple get the status of submit from the promise. Now it seem always to resolve even if it contains validation errors.
What is the best way of achieving this? should I just check by hand if it contains validation errors and return rejected promise? and currently I can't do all the logic inside my handleSubmit callback, so I return the promise for further processing.

Hey @tume, if you're throwing errors in a promise chain, I can almost guarantee that it's the promises that are swallowing your errors, not redux-form. Turns out promises can be tricky when it comes to exception handling - the key lies in the little details of promises. They are worth studying closely!
However, if you return a promise from handleSubmit and throw a SubmissionError, it will cause your promise chain to end in a rejected promise. Redux-form will catch that, see the special SubmissionError, and handle validation errors. It's up to you to determine if your server response has validation errors and to throw the SubmissionError. This is by design. The docs have a simple example.

Thanks for your explanation. Currently i'm not so interested in specific validation errors just ok / error in general. If I now understood correctly there is no way that redux-form would return rejected promise in handleSubmit no matter what I return in my own handler? It will just handle the submissionErrors and resolve it?
Just feels a bit strange that I have now errors in promise which I can't use .catch() to catch.

Correct, redux-form's handleSubmit doesn't return anything you can use AFAIK. The method is just an event handler for form submission. I'm confused about what you're trying to accomplish with promises - you should have full control of the chain, including catching errors.
While you can return a promise to handleSubmit to make it aware of a pending request, that should be the last step in your promise chain and you have full control until that point.
As for taking action on errors, you can throw a SubmissionError with an _error key (representing a form level error), which will be passed to your decorated component as an error prop. You can use that to determine if submission failed from within your component. It's roughly documented here: http://redux-form.com/6.1.1/docs/api/ReduxForm.md/#-onsubmit-function-optional-
If you still think something is missing in regards to promise exception handling, could you post a simplified example showing the issue?

Hi @MilllerTime do you know whats the best way with redux-form v5 to handle this? The SubmissionError comes in with v6.
I'm calling submit() on a Form ref the way like in the "submit from parent" example from the docs in v5.3.3. The submit returns a Promise which always resolves.
In my case i submit many forms that way and want to Promise.all that form promises to check if one form has failed.

@WirthAware It seems like SubmissionError was mostly added for readability. In v5, you can still reject your Promise with an error map object just like you would pass to a SubmissionError in v6. The special form level _error key should work as well. The main difference is that you must explicitly reject the promise with that object instead of throwing an error that implicitly rejects it.
Your decorated component should then behave the same way.
The onSubmit description seems to explain this here (can't link to the specific section because the old doc site uses hash history):  http://redux-form.com/5.3.3/#/api/reduxForm

@MilllerTime Thanks for your explanation. Thats working fine for me. In our project we have a kind of wizard of forms. Each form has an own submit. Thats working fine for each form.
Now we want to have a submit for each form to submit them all. The wizard could have e.g. 4 steps. Each step is a form and now i want to submit all forms with one button. I have seen in v6.2 there is a new action to submit, Thats pretty cool! But in that project we are still on v5.
In my solution i have a ref on each form. With that ref i could call submit which returns a promise.
Copied from the docs: http://redux-form.com/5.3.3/#/examples/submit-from-parent?_k=7ied73
const myPromise = this.refs.myForm.submit()  // will return a promise
myPromise now always resolves also when myForm onSubmit is rejecting will myPromise resolve. I would expect when onSubmit handleSubmit will reject that myPromise will also rejecting. When i submit many forms i need to know if one promise has failed. But when all promises resolve the wizard will not informed about an error.
I have a workaround that works for now. But i'm interested why myPromise will always resolve also when handleSubmit will reject.

@WirthAware I think I understand now. I haven't run into the same use-case you're describing, but have you tried setting returnRejectedSubmitPromise to true in your form config? According to the docs it defaults to false. I'm not sure why the default behavior is to swallow errors, but maybe that will do the trick.

@MilllerTime that does the trick! Thank you for your help!

I've just stumbled upon this error in slightly different aspect.
My app is a simple page with login form. Upon submit it calls ajax service that validates credentials.
If they are valid, some component is shown instead of login form. But the problem is that
this component throws an exception in render method. I'm also using redux-promised middleware that
catches errors and dispatches XXX_FAILED action. If I disable it, everything works.
In handleSubmit.js you have the following code:
if (isPromise(result)) {
	startSubmit();
	return result.then(function (submitResult) {
	stopSubmit();
	setSubmitSucceeded();
	if (onSubmitSuccess) {
		onSubmitSuccess(submitResult, dispatch);
	}
	return submitResult;
	}, function (submitError) {
	var error = submitError instanceof SubmissionError ? submitError.errors : undefined;
	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	stopSubmit(error);
	setSubmitFailed.apply(undefined, _toConsumableArray(fields));
	if (onSubmitFail) {
		onSubmitFail(error, dispatch);
	}
	return error;
	});
} else {

At the highlighted stage you are checking if it is a valid rejected promise from ajax, and if it is, it's perfectly valid to dispatch
STOP_SUBMIT action in stopSubmit. But if it was an error in React itself (like my case of throwing error in render) then
React is in inconsistent state and when STOP_SUBMIT is sent it tries to rerender my broken component and fails with the cryptic error
ReactReconciler.js:64 Uncaught (in promise) TypeError: Cannot read property 'getNativeNode' of null
    at Object.getNativeNode (webpack:///./~/react/lib/ReactReconciler.js?:64:28)
    at ReactCompositeComponentWrapper.getNativeNode (webpack:///./~/react/lib/ReactCompositeComponent.js?:369:28)
    at Object.getNativeNode (webpack:///./~/react/lib/ReactReconciler.js?:64:29)
    at Object.updateChildren (webpack:///./~/react/lib/ReactChildReconciler.js?:89:48)
    at ReactDOMComponent._reconcilerUpdateChildren (webpack:///./~/react/lib/ReactMultiChild.js?:189:32)
    at ReactDOMComponent._updateChildren (webpack:///./~/react/lib/ReactMultiChild.js?:288:31)
    at ReactDOMComponent.updateChildren (webpack:///./~/react/lib/ReactMultiChild.js?:276:12)
    at ReactDOMComponent._updateDOMChildren (webpack:///./~/react/lib/ReactDOMComponent.js?:883:12)
    at ReactDOMComponent.updateComponent (webpack:///./~/react/lib/ReactDOMComponent.js?:712:10)
    at ReactDOMComponent.receiveComponent (webpack:///./~/react/lib/ReactDOMComponent.js?:668:10)

As I understand, at the highlighted stage we should just rethrow the error like this:
if(!error) {
	throw submitError;
}

If I add this code, everything works perfectly. Am I correct?

@MilllerTime I'm facing the same issue, and your initial comment intuitively seems like the diagnosis. However, given that returnRejectedSubmitPromise has been taken out, I haven't been able to figure out a solution here.
I was wondering if you were able to diagnose by looking at a simplified example (as per your above comment). Any thoughts are much appreciated.
//how handleSubmit is being called:

renderDebouncedInput = (field) => {
  const { handleSubmit, onChangeSubmit } = this.props;

  return (
    <DebounceInput
      debounceTimeout = {500}
      onChange = {(e) => {
        field.input.onChange(e);
        handleSubmit((values, dispatch, props) => {
          const newValues = values;
          newValues[field.name] = e.target.value;
          onChangeSubmit(newValues, dispatch, props);
        })();
      }}
      value = {field.input.value}
    />
  );
};

//the submit function
updateField = (values, dispatch, props) => {
  return new Promise((resolve, reject) => {
    return updateField(values.fieldName)
      .then((response) => {
        if (response) { resolve(); }
      })
      .catch((response) => {
        const error = response.body && response.body.base;
        reject(new SubmissionError({ _error: "That's weird. " + error }));
      });
  });
};

The error I get is:
Uncaught (in promise)
SubmissionError {
  errors: Object,
  message: "Submit Validation Failed",
  name: "SubmissionError",
  stack: "SubmissionError: Submit Validation Failed
  ...
}
//error line points to the reject statement

I assume I am tripping up somewhere with error being swallowed given the way I am calling handleSubmit?

Hey @oyeanuj, your updateField function works when used directly because it returns a promise that redux-form can chain onto. The anonymous function you're passing to handleSubmit in your <DebounceInput> component doesn't return any value. However, it seems like you're delegating to another function, onChangeSubmit. I imagine that probably returns a promise, so you could just return the result like so:
return onChangeSubmit(newValues, dispatch, props);

Since you're not passing the promise to redux-form, the SubmissionError isn't caught, and I suspect that is your error.
BTW, there is no need to wrap a promise-returning piece of code with a new promise constructor. It just adds overhead and complexity. You should be able to simply write:
const yourSubmitHandler = (values, dispatch, props) => {
  return updateField(values.fieldName)
    .catch((response) => {
      const error = response.body && response.body.base;
      throw new SubmissionError({ _error: "That's weird. " + error });
    });
};

By throwing the SubmissionError, you're implicitly rejecting the promise chain, and a resolved promise will just pass through and be returned as-is 🙂

@Dema Shouldn't you be handling render errors within the component itself? I'm confused why a form submission handler should need to worry about that.

@MilllerTime Your diagnosis was spot on - returning the result of onChangeAction (which was just updateField in the example above) made the thing work. So, handleSubmit now gets the promise or a value returned which it wasn't earlier.
Thank you for that and the additional code review, and tips! Much appreciated :)

You mean I should wrap all render() and all lifecycle methods in try{} catch{} block? I don't think it's a good idea.
The error was thrown deep in React internals after render() was finished. I've imported non-existing function from module and tried to call it in componentWillMount() hook.
So it crashed and the component never got rendered.
So there is not much I can do in catch handler, it wasn't a legitimate error I could recover from. Allowing it to bubble up to the top is the best I can do, I think.
Here is the relevant thread from Dan Abramov https://twitter.com/dan_abramov/status/7988384333680640
He wrote it after I submitted a bug report about React throwing cryptic Error: getHostNode() is null.
The code in handleSubmit.js a bit different now, but it still suffers from the same error:
}, function (submitError) {
var error = submitError instanceof _SubmissionError2.default ? submitError.errors : undefined;

stopSubmit(error);
^^^^^(1)
setSubmitFailed.apply(undefined, _toConsumableArray(fields));
if (onSubmitFail) {
	onSubmitFail(error, dispatch);
}
if (error || onSubmitFail) {
	// if you've provided an onSubmitFail callback, don't re-throw the error
	return error;
} else {
	throw submitError;
	^^^^^ (2)
}
});

It's too late to throw the error in (2), stopSubmit action is already dispatched in (1) and will fail because React state is garbled and dispatch indirectly calls setState that forces component to rerender but it's not rendered for the first time because of an error.
We should re-throw non-SubmitError exception before dispatching stopSubmit action.
https://twitter.com/dan_abramov/status/798856890813845504

+1000 to not swallowing unrelated errors.
During development, my team has seen cases where after form submission, we would perform a history.pushState() and encounter and error in an entirely unrelated component. Because we were still within the same call stack as handleSubmit(), the error would be caught and swallowed.
Needless to say, that's not redux-form's fault, but it does make debugging these situations a bit nightmarish. I'm a bit agnostic as to which solution is used here, but will lend a vote towards anything that doesn't result in unrelated errors being swallowed. :)
Happy to get my hands dirty as well... I set off to make a PR when I found this issue, and realized it's not quite as straight forward as I imagined. If there's a consensus on the right approach to take, I could take a crack at it. Thanks for all the awesome work!

Because this issue saw almost no activity for almost a year, I'm closing it.

authors: Dema MilllerTime WirthAware gustavohenke jmar777 oyeanuj tume


text:
v7.0.4 Jest console warnings

What is the current behavior?
When using v7.0.3 I can run Jest tests without any warnings being logged to the console.
What is the expected behavior?
To upgrade to v7.0.4 without the console warnings appearing.
Sandbox Link
Unfortunately none available right now.
What's your environment?
OS: Any (Tested on Ubuntu/MacOS)
Node: v8.2.1
NPM: 5.3.0
Other information
The errors that started appearing in the console are as follows:
Warning: Accessing PropTypes via the main React package is deprecated, and will be removed in  React v16.0. Use the latest available v15.* prop-types package from npm instead. For info on usage, compatibility, migration and more, see https://fb.me/prop-types-docs

and
Warning: Accessing createClass via the main React package is deprecated, and will be removed in React v16.0. Use a plain JavaScript class instead. If you're not yet ready to migrate, create-react-class v15.* is available on npm as a temporary, drop-in replacement. For more info see https://fb.me/react-create-class

If I look at the diff between v7.0.3 and v7.0.4 I see there are a few introductions of import * as React from 'react' which it seems is causing the error(s) as this is importing everything (including PropTypes) from the 'react' package.
These warnings do not appear in the browser, and only in the console when running Jest tests.

Duplicate of #3385

Thanks @gustavohenke

Thanks a lot @erikras

authors: gustavohenke hvolschenk


text:
Dispatch CHANGE action on unregistered field, Register the field and update the values

Are you submitting a bug report or a feature request?
bug report
What is the current behavior?
Dispatch CHANGE action on unregistered field => Register the field and update the values
Steps to reproduce

Open the FieldArray sandbox sample =>   https://codesandbox.io/s/Ww4QG1Wx
Dispatch the following action using the redux dev toolbox

  type: '@@redux-form/CHANGE',
  meta: {
    form: 'fieldArrays',
    field: 'members[10].firstName',
    touch: false,
    persistentSubmitErrors: false
  },
  payload: 'aaa'
}

Inspect the Redux form.fieldArrays.registeredFields and you will find members[10]

What is the expected behavior?
dispatch CHANGE action on unregistered field => Do nothing

+1
Sometime CHANGE action will delete state.formKey.values, but form's onChange not trigged.

Hi @erikras ,
What are your thoughts ?

It is almost two years and not interested in redux-form so closing the issue.

authors: JuoCode hossambarakat


text:
Cannot save the state of React RTE in Redux form

I cannot save the state of a text editor in redux form.
None of the integration solutions with React RTE here work for me. The editor gets rendered but it is not being picked up in redux form.
I can't believe there is not a single example of the actual usage of this component.
Here is what I have:
RichTextEditor component:
import React, { Component, PropTypes } from 'react';
import RichTextEditor from 'react-rte';

class RichTextMarkdown extends Component {

    static propTypes = {
        input: PropTypes.shape({
            onChange: PropTypes.func.isRequired,
            value: PropTypes.string
        }).isRequired
    };
    constructor(props) {
        super(props);
        this.state = {
            value: this.props.input.value === '' ? RichTextEditor.createEmptyValue() : RichTextEditor.createValueFromString(this.props.input.value, 'html'),
        };
    }

    componentWillReceiveProps(nextProps) {
        if (nextProps.input.value !== this.state.value.toString('html')) {
            this.setState({
                value: nextProps.input.value ?
                    RichTextEditor.createValueFromString(nextProps.input.value, 'html') :
                    RichTextEditor.createEmptyValue()
            });
        }
    }

    onChange = (value) => {
        this.setState({ value });
        console.log(value.toString('html'));

        this.props.input.onChange(value);
    };

    render() {
        return (
            <RichTextEditor value={this.state.value} onChange={this.onChange} />
        );
    }
}

export default RichTextMarkdown;

Actual usage of the component:

import RTE from '../../../elements/RichTextMarkdown ';

// ... form omitted
 <Field
        component={RTE}
        type="text"
        name="comment_closing_page"
        value="test"
        input={{ value: 'TEST', onChange: value => value.toString('html') }} />

When I submit the form I get all of my other fields but I can't get hold of the values for the text editor. Any one know why this is?

I think you can't pass input prop to Field. Field itself passes it in component specified as component property. So if I were you I would do it like this:
import RTE from '../../../elements/RichTextMarkdown ';

const RTEField = ({input: {onChange, ...input}, ...props}) =>
  <RTE onChange={val => onChange(value.toString('html'))} {...input} {...props} />

// ... form omitted
 <Field
        component={RTEField}
        type="text"
        name="comment_closing_page"
        value="test"
 />

Given this is more of a usage question, I'm closing it.
Please post these on StackOverflow.

authors: gustavohenke likerRr shabaz-ejaz


text:
fix: add pool_options to options()

The pool_options field is missing in the options() type.
timeout is a valid pool_option(), see https://github.com/erleans/pgo/blob/master/src/pgo.erl#L95.

Hm, it looks like CI isn't running.

Hm, it looks like CI isn't running.

Have you enabled your ci workflow to run on forked PRs? It's not enabled by default, see https://circleci.com/docs/2.0/oss/#build-pull-requests-from-forked-repositories.

Just merged a PR that fixed this. Thanks!

source: gharchive/pull-request

authors: jakobsvenning tsloughter

repo: erleans/pgo


text:
Add LimitNOFILE in prometheus.service

Recently, our Prometheus service stopped scrapping. Upon investigation, we found that Prometheus was logging the following error repeatedly -
dial tcp 127.0.0.1:9093: socket: too many open files

Setting LimitNOFILE to infinity on the prometheus.service solved the issue for us. Since there is no way of setting that in this role, we've opened this PR.
This PR also includes a new configuration variable prometheus_service_limitnofile which can be used to set other values for LimitNOFILE other than infinity.

hi, thank you for contributing, I will fix CI in few days

please rebase on master

@ernestas-poskus, Thanks for fixing the CI. This PR is now rebased on master.

authors: ernestas-poskus shimulch

repo: ernestas-poskus/ansible-prometheus


text:
Merge pull request #2 from ernilambar/master

Bringing fork up to date

Sorry, I meant to bring my fork up to date. Made a wrong PR

This article explains how best to do it. https://help.github.com/articles/syncing-a-fork/

Yeah, I did it from the web interface. I'm setting it up now to work with bash commands. Thanks

authors: dingo-d grappler

repo: ernilambar/ns-theme-check


text:
Double empty line (\n\n) to give you larger empty space?

Hi guys, I am wondering why you don't have what is described here
I use markdown to generate HTML automatically, but often I need to insert a raw
</br>

Note I've already enabled this the \n extension (why wasn't it on by default!?):
 $Parsedown->setBreaksEnabled(true); // \n becomes <br>

Thanks!

could u provide expected vs actual output, thanks

Ok, nvm. I think I misunderstood something.
Still crazy that in markdown there is not an equivalent of latex's \vspace{...}

authors: ataiya erusev

repo: erusev/parsedown

license: mit


text:
Game not running

Please correct all the errors and get the game running

done


text:
恢复站点，登录成功后500错误

错误如图，登录站点500错误，都是原来的 config文件和数据库
我没有开启  telegram_bot 不知道为什么这样报错。

我的是以前的数据库和配置文件备份。这次是重新git安装，然后就无法使用了。

请按照更新说明添加配置项。

authors: Bigblackbanner esdeathlove


text:
feat: baseline rule

Prerequisites checklist

[x] I have read the contributing guidelines.

What is the purpose of this pull request?
Create a rule that warns when non-baseline features are used.
What changes did you make? (Give an overview)

Added baseline rule
Added tests and docs
Created a tool to generate baseline data

Related Issues
fixes #26

Is there anything you'd like reviewers to focus on?

~I'm not 100% sure that the baseline data matches what's on the website. The web-features package doesn't tag things as "widely" or "newly", just "high", "low", or false. I started with the assumption that "high" means "widely" and "low" means "newly", but I'm not sure that's correct.~ high = widely, low = newly
I set this as recommended, as it seems like it would generally be useful, but definitely open to feedback on that.

I'm not 100% sure that the baseline data matches what's on the website. The web-features package doesn't tag things as "widely" or "newly", just "high", "low", or false. I started with the assumption that "high" means "widely" and "low" means "newly", but I'm not sure that's correct.

Web Features contributor here- your assumption is correct.
low = Newly available: The feature works across the latest devices and browser versions. The feature might not work in older devices or browsers.
high = Widely available: The feature is well established and works across many devices and browser versions. It’s been available across browsers for at least 2½ years (30 months).
false = Some but not all of the latest devices and browser versions support it, and it might not work, even in up to date devices and browsers.
Thanks for doing this!

Okay, I think I've got this in pretty good shape now.

Properties and identifier values are now validated against baseline.
You can use @supports to indicate you know what you're doing so the rule doesn't flag its contents. (Also works with nested @supports).
There is some rudimentary checking of function values against baseline.

I'd love for folks to try this out and give me some feedback on if it's helpful.
FYI: I'm now offline until December 30, but please feel free to leave your feedback and I'll review when I return. Happy holidays!

authors: jamesnw nzakas

repo: eslint/css


text:
Translate to German

What language do you want to translate the website into?
German
What is the language code for the language?
de
What is the locale code for the language?
de_DE
What help will you need?
I'm currently stuck on the npm install step as the installation of sharp crashes due to not being able to find glib. I have libglib2.0-dev and libglib2.0-dev-bin installed and installing libvips-dev fixed the previous (similar) error the package had. I'm running Kubuntu 21.10 and nodejs 14.x (also tried node16.x, same error)
Implementation Checklist

[ ] Create new site file
[ ] Set up Netlify project
[ ] Register new domain name
[ ] Set up Google Analytics
[ ] Set up Carbon Ads

Participation

[X] I am willing to submit a pull request for this change.

Additional comments
No response

closing as I cannot get this repo to install properly on my system.
I eventually just decided to find out which package even needs sharp, removed that one from package.json, seemingly managed to install but am now getting Error: ENOENT: no such file or directory, scandir '/home/mitsu/git/Projects/new.eslint.org/node_modules/node-sass/vendor'.


text:
Detect when a Spotify link is being passed to the play command and search the title of the song on YouTube or Soundcloud, and play that instead.

Describe the request
Apparently many other music bots solve the Spotify issue (that being that you legally and legitimately cannot play Spotify songs through any API) by just getting the song title (probably through the embed, but I think Spotify at least has a rudementary API that lets you get the song title) and passes it to ytsearch, and plays that instead. I don't personally care about this but a friend of mine without an account wants to see this added, so I'm making a feature request for this on his behalf.
Is your feature request related to a problem? Please describe.
No response
Additional context
No response

This Lavalink plugin adds support for Spotify and Apple Music, could probably add it to the example application.yml file: https://github.com/Topis-Lavalink-Plugins/Topis-Source-Managers-Plugin

I've tested the plugin solution, either i haven't configured it properly, or it doesn't work with the current code, i'm guessing it must be modified to add support for the spsearch command, although i'm not very experienced so i may be saying something completely wrong.

I've tested the plugin solution, either i haven't configured it properly, or it doesn't work with the current code, i'm guessing it must be modified to add support for the spsearch command, although i'm not very experienced so i may be saying something completely wrong.

What Lavalink version are you on? Plugin support isn't included in any release builds yet, you'll need to use the dev branch builds.

I've tested the plugin solution, either i haven't configured it properly, or it doesn't work with the current code, i'm guessing it must be modified to add support for the spsearch command, although i'm not very experienced so i may be saying something completely wrong.

What Lavalink version are you on? Plugin support isn't included in any release builds yet, you'll need to use the dev branch builds.

The lavalink version you include in the self-hosting guide, and it seems to have plugin support as it seems to recognize, I may be wrong though.

Addressed with 274f11b, you'll need a recent Lavalink and Spotify API keys.

authors: IoIxD TheEssem teo0781

repo: esmBot/esmBot


text:
TLS Support in EspHttpServer?

I see that there's a feature esp_idf_esp_https_server_enable to enable serving over HTTPS; is there a reason this appears inaccessible to downstream consumers? I'd like to serve content over HTTPS, and it's not clear why it's restricted (or I'm being dumb about how to enable it).

You need to enable HTTPS support for ESP IDF itself first, from within yoursdkconfig.defaults. Check the ESP IDF documentation for the exact CONFIG_ name. Once you do that, all Rust HTTPS code will become magically enabled.

authors: brownjohnf ivmarkov

repo: esp-rs/esp-idf-svc


text:
Owned network callback parameters

Related: #401
I think it would make sense for the *Driver callbacks to use owned parameters rather than references (slices). This way they can be e.g. sent via mpsc::channel without another allocation, e.g. to_vec().
I'm not the most experienced with Rust so I'm very open to feedback and further guidance.

I haven't implemented the same changes for the Wi-Fi TX callback since I don't know where that memory is allocated/freed.

Thanks!

authors: ivmarkov owenthewizard


text:
esp_restart() fails when called from timer callback when WiFi is enabled (IDFGH-1915)

Environment

Development Kit: none
Module or chip used:  ESP32-WROVER-IB
IDF version (run git describe --tags to find it): v3.3
Build System: Make
Compiler version (run xtensa-esp32-elf-gcc --version to find it): xtensa-esp32-elf-gcc (crosstool-NG crosstool-ng-1.22.0-80-g6c4433a) 5.2.0
Operating System: macOS
Power Supply: USB

Problem Description
Once WiFi has been initialized, if esp_restart() is called from an esp_timer callback the chip does not restart.
Expected Behavior
The chip restarts.
Actual Behavior
The chip appears to start to shutdown WiFi and then does not restart. The chip is still responsive and other tasks can run.
Steps to repropduce

Run attached example based on hello_world and observe that esp_restart() does not work.
Modify hello_world_main.c and comment out init_wifi().
Run again and observe that esp_restart() now works.

Code to reproduce this issue
See attached example project.
Debug Logs
None apply.
Other items if possible
See attached example project.
esp_restart_issue.zip
Note that this appears to be related to #2101, but since I can now reproduce it with a simple example I thought a new issue was warranted.

@vonnieda Thanks for reporting, we will look into this. Thanks.

I think this was originally reported in https://github.com/espressif/esp-idf/issues/3458 and fixed (in two independent ways) in https://github.com/espressif/esp-idf/commit/6b08e8b44966fadba83e09cbc47f6f86bac03e51 and https://github.com/espressif/esp-idf/commit/197e0ae147d7b150d0ffaa482ed670e7d6c2b561. It seems that these fixes never made it to the v3.3 release. Can you please try cherry-picking the former commit and see if it fixes the issue you are observing?

Thanks for the response @igrr; which commit do you want me to try to cherry pick? There are two commits with the message "fix some wifi bugs",  but they seem to affect different parts of the tree, and do not apply cleanly, and there is the " esp_timer: handle esp_timer_delete in timer task " one. I was able to apply that one, and then experienced a deadlock in esp_timer during normal operation, so I am not sure if I need both. Can you provide some more guidance?
Thanks,
Jason

The "esp_timer: handle esp_timer_delete in timer task" one should be sufficient, I think. Can you please give any more information about the deadlock? If you are able to attach a JTAG debugger, you can interrupt the program and get the backtrace.

@igrr I've confirmed that https://github.com/espressif/esp-idf/commit/6b08e8b44966fadba83e09cbc47f6f86bac03e51 fixes the esp_restart() issue. The deadlock may be unrelated, I will monitor and let you know if it happens again. I had a I2C bus contention issue that may have caused it.

@igrr I have not seen the deadlock again across several devices, so I think that was just my side. So, end result is that https://github.com/espressif/esp-idf/commit/6b08e8b44966fadba83e09cbc47f6f86bac03e51 seems to resolve this issue.

@vonnieda Ok, we will backport 6b08e8b to release/v3.3.

Sounds good, thank you!

This worked for me, if it helps anyone else until this is fixed.
work around code:
taskENTER_CRITICAL();
esp_restart();
taskEXIT_CRITICAL();

@vonnieda Thanks for reporting and sorry for slow turnaround. The fix on release/3.3 is available at https://github.com/espressif/esp-idf/commit/dbd2cd2f7a4f1907e5aa3a46df64dfdf7e66eca0. Feel free to reopen if the issue still happens. Thanks.

repo: espressif/esp-idf


text:
WiFi reconnect fails (IDFGH-2991)

Environment

Development Kit: none
Module or chip used:  ESP32-WROOM-32
IDF version: v3.3.1
Build System: Make
Compiler version: 1.22.0-80-g6c4433a
Operating System:  Linux
Using an IDE?: No
Power Supply: USB

Problem Description
Once connected to WiFi, after some time (minutes or hours), connection is lost and can't be re-established.
Every subsequent connection attempts obtains errors like:
WIFI_REASON_ASSOC_FAIL
WIFI_REASON_MIC_FAILURE
WIFI_REASON_4WAY_HANDSHAKE_TIMEOUT
Powering off and on the module do not fix the problem. Once program restart, the module cant connect to Wifi.
Sometimes, after a lot of retries the module manage to re-connect to the wifi network.
Other peripherals (laptop, smartphone,...) are connected to the same WiFi network and works normally.
Debug Logs
I (2134421) wifi: Start wifi connect
I (2134421) wifi: connect status 4 -> 0
I (2134431) wifi: connect chan=0
I (2134431) wifi: first chan=1
I (2134431) wifi: connect status 0 -> 1
I (2134441) wifi: filter: set rx policy=3
I (2134441) wifi: clear scan ap list
I (2134441) wifi: start scan: type=0x50f, priority=2, cb=0x400ec6a0, arg=0x0, ss_state=0x1, time=2134012014, index=0
0x400ec6a0: cnx_start_handoff_cb at ??:?
I (2134451) wifi: perform scan: ss_state=0x9, chan<1,0>, dur<0,120>
I (2134461) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2134471) wifi: profile match: ss_state=0x7
I (2134481) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2134481) wifi: profile match: ss_state=0x7
I (2134581) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2134581) wifi: profile match: ss_state=0x7
I (2134581) wifi: scan end: arg=0x0, status=0, ss_state=0x7
I (2134581) wifi: find first mathched ssid, scan done
I (2134591) wifi: filter: set rx policy=4
I (2134591) wifi: first chan=1
I (2134591) wifi: handoff_cb: status=0
I (2134601) wifi: ap found, mac=e0:b9:e5:5d:9f:25
I (2134601) wifi: new_bss=0x3ffc6340, cur_bss=0x0, new_chan=<1,0>, cur_chan=1
I (2134611) wifi: filter: set rx policy=5
I (2134611) wifi: new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1
I (2134621) wifi: connect_op: status=0, auth=5, cipher=3
I (2134621) wifi: auth mode is not none
I (2134631) wifi: connect_bss: auth=1, reconnect=0
I (2134631) wifi: state: init -> auth (b0)
I (2134641) wifi: start 1s AUTH timer
I (2134641) wifi: clear scan ap list
I (2134651) wifi: recv auth: seq=2, status=0
I (2134651) wifi: state: auth -> assoc (0)
I (2134651) wifi: restart connect 1s timer for assoc
I (2134661) wifi: recv assoc: type=0x10
E (2134661) wifi: Set status to INIT
I (2134661) wifi: state: assoc -> init (c00)
I (2134671) wifi: connect status 1 -> 4
I (2134671) wifi: stop beacon/connect timer
I (2134671) wifi: add bssid e0:b9:e5:5d:9f:25 to blacklist, cnt=0
I (2134681) wifi: stop CSA timer
I (2134681) wifi: remove e0:b9:e5:5d:9f:25 from rc list
I (2134691) wifi: new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1
I (2134691) wifi: filter: set rx policy=8
I (2134701) wifi: reason: assoc fail(203)
I (2134701) wifi: Send disconnect event, reason=203, AP number=0
I (2134711) WifiManager: ESP32 station disconnected from AP
D (2134711) WifiManager: disconnected
I (2134721) WifiManager: WIFI_REASON_ASSOC_FAIL
D (2166971) WifiTask: connection lost, reconnecting
I (2166971) wifi: clear blacklist
I (2166971) wifi: Start wifi connect
I (2166971) wifi: connect status 4 -> 0
I (2166971) wifi: connect chan=0
I (2166981) wifi: first chan=1
I (2166981) wifi: connect status 0 -> 1
I (2166981) wifi: filter: set rx policy=3
I (2166991) wifi: clear scan ap list
I (2166991) wifi: start scan: type=0x50f, priority=2, cb=0x400ec6a0, arg=0x0, ss_state=0x1, time=-2128406911, index=0
0x400ec6a0: cnx_start_handoff_cb at ??:?
I (2167001) wifi: perform scan: ss_state=0x9, chan<1,0>, dur<0,120>
I (2167021) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2167021) wifi: profile match: ss_state=0x7
I (2167041) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2167041) wifi: profile match: ss_state=0x7
I (2167131) wifi: scan end: arg=0x0, status=0, ss_state=0x7
I (2167131) wifi: find first mathched ssid, scan done
I (2167131) wifi: filter: set rx policy=4
I (2167131) wifi: first chan=1
I (2167131) wifi: handoff_cb: status=0
I (2167141) wifi: ap found, mac=e0:b9:e5:5d:9f:25
I (2167141) wifi: new_bss=0x3ffc6340, cur_bss=0x0, new_chan=<1,0>, cur_chan=1
I (2167151) wifi: filter: set rx policy=5
I (2167151) wifi: new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1
I (2167161) wifi: connect_op: status=0, auth=5, cipher=3
I (2167161) wifi: auth mode is not none
I (2167171) wifi: connect_bss: auth=1, reconnect=0
I (2167171) wifi: state: init -> auth (b0)
I (2167181) wifi: start 1s AUTH timer
I (2167181) wifi: clear scan ap list
I (2167191) wifi: recv auth: seq=2, status=0
I (2167191) wifi: state: auth -> assoc (0)
I (2167191) wifi: restart connect 1s timer for assoc
I (2167201) wifi: recv assoc: type=0x10
I (2167201) wifi: filter: set rx policy=6
I (2167201) wifi: state: assoc -> run (10)
I (2167211) wifi: start 10s connect timer for 4 way handshake
I (2167231) wifi: connected with Telecom-90021669, aid = 1, channel 1, BW20, bssid = e0:b9:e5:5d:9f:25
I (2167231) wifi: security type: 4, phy: bgn, rssi: -36
I (2167231) wifi: remove all except e0:b9:e5:5d:9f:25 from rc list
I (2167241) wifi: clear blacklist
I (2167241) wifi: filter: set rx policy=7
I (2167251) wifi: pm start, type: 1
I (2167251) wifi: Send sta connected event
I (2167251) wifi: connect status 1 -> 5
I (2167261) wifi: obss scan is disabled
I (2167261) wifi: start obss scan: obss scan is stopped
I (2167271) wifi: AP's beacon interval = 102400 us, DTIM period = 3
I (2167271) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2167281) WifiManager: ESP32 station connected to AP
D (2167281) WifiManager: connected
I (2167351) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2167451) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2167551) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2167651) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2167761) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2167861) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2167961) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2168061) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2168171) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2168251) event: sta ip: 192.168.1.15, mask: 255.255.255.0, gw: 192.168.1.1
I (2168251) WifiManager: ESP32 station got IP from connected AP
D (2168251) WifiManager: got_ip
D (2168251) WifiManager: IP:192.168.1.15
D (2168261) WifiManager: MASK:255.255.255.0
D (2168261) WifiManager: GW:192.168.1.1
...
...
...
I (2170731) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2170831) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2170931) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2171041) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2171141) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2171181) wifi: state: run -> init (ec0)
I (2171181) wifi: recv deauth/disassoc, stop beacon/connect timer
I (2171181) wifi: connect status 5 -> 4
I (2171181) wifi: sta leave
I (2171181) wifi: pm stop, total sleep time: 3006623 us / 3932368 us
I (2171191) wifi: stop CSA timer
I (2171191) wifi: remove e0:b9:e5:5d:9f:25 from rc list
I (2171201) wifi: new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1
I (2171201) wifi: filter: set rx policy=8
I (2171211) wifi: Send disconnect event, reason=14, AP number=0
I (2171221) WifiManager: ESP32 station disconnected from AP
D (2171221) WifiManager: disconnected
I (2171221) WifiManager: WIFI_REASON_MIC_FAILURE
E (2172611) MqttHelper: Connection has failed reason 14
D (2172611) IotTask: waiting connection
D (2173031) WifiTask: connection lost, reconnecting to Telecom-90021669
I (2173031) wifi: clear blacklist
D (2173031) WifiManager: connect
I (2173031) wifi: Start wifi connect
I (2173031) wifi: connect status 4 -> 0
I (2173041) wifi: connect chan=0
I (2173041) wifi: first chan=1
I (2173041) wifi: connect status 0 -> 1
I (2173041) wifi: filter: set rx policy=3
I (2173051) wifi: clear scan ap list
I (2173051) wifi: start scan: type=0x50f, priority=2, cb=0x400ec6a0, arg=0x0, ss_state=0x1, time=-2122345852, index=0
0x400ec6a0: cnx_start_handoff_cb at ??:?
I (2173061) wifi: perform scan: ss_state=0x9, chan<1,0>, dur<0,120>
I (2173071) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2173081) wifi: profile match: ss_state=0x7
I (2173081) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2173081) wifi: profile match: ss_state=0x7
I (2173181) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2173181) wifi: profile match: ss_state=0x7
I (2173191) wifi: scan end: arg=0x0, status=0, ss_state=0x7
I (2173191) wifi: find first mathched ssid, scan done
I (2173191) wifi: filter: set rx policy=4
I (2173201) wifi: first chan=1
I (2173201) wifi: handoff_cb: status=0
I (2173201) wifi: ap found, mac=e0:b9:e5:5d:9f:25
I (2173211) wifi: new_bss=0x3ffc6340, cur_bss=0x0, new_chan=<1,0>, cur_chan=1
I (2173211) wifi: filter: set rx policy=5
I (2173221) wifi: new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1
I (2173221) wifi: connect_op: status=0, auth=5, cipher=3
I (2173231) wifi: auth mode is not none
I (2173231) wifi: connect_bss: auth=1, reconnect=0
I (2173241) wifi: state: init -> auth (b0)
I (2173241) wifi: start 1s AUTH timer
I (2173241) wifi: clear scan ap list
I (2173251) wifi: recv auth: seq=2, status=0
I (2173251) wifi: state: auth -> assoc (0)
I (2173261) wifi: restart connect 1s timer for assoc
I (2173261) wifi: recv assoc: type=0x10
I (2173261) wifi: filter: set rx policy=6
I (2173271) wifi: state: assoc -> run (10)
I (2173271) wifi: start 10s connect timer for 4 way handshake
I (2173291) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2173301) wifi: connected with Telecom-90021669, aid = 3, channel 1, BW20, bssid = e0:b9:e5:5d:9f:25
I (2173301) wifi: security type: 4, phy: bgn, rssi: -38
I (2173301) wifi: remove all except e0:b9:e5:5d:9f:25 from rc list
I (2173311) wifi: clear blacklist
I (2173311) wifi: filter: set rx policy=7
I (2173321) wifi: pm start, type: 1
I (2173321) wifi: Send sta connected event
I (2173321) wifi: connect status 1 -> 5
I (2173331) wifi: obss scan is disabled
I (2173331) wifi: start obss scan: obss scan is stopped
I (2173341) WifiManager: ESP32 station connected to AP
D (2173341) WifiManager: connected
I (2173391) wifi: AP's beacon interval = 102400 us, DTIM period = 3
I (2173391) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2173491) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2173591) wifi: rsn valid: gcipher=1 ucipher=3 akm=5
I (2173621) wifi: recv deauth, reason=0xe
I (2173621) wifi: state: run -> init (ec0)
I (2173621) wifi: recv deauth/disassoc, stop beacon/connect timer
I (2173621) wifi: connect status 5 -> 4
I (2173621) wifi: sta leave
I (2173621) wifi: pm stop, total sleep time: 168496 us / 304620 us
I (2173631) wifi: stop CSA timer
I (2173631) wifi: remove e0:b9:e5:5d:9f:25 from rc list
I (2173641) wifi: new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1
I (2173641) wifi: filter: set rx policy=8
I (2173651) wifi: Send disconnect event, reason=15, AP number=0
I (2173661) WifiManager: ESP32 station disconnected from AP
D (2173661) WifiManager: disconnected
I (2173661) WifiManager: WIFI_REASON_4WAY_HANDSHAKE_TIMEOUT

@sarasini Thanks for reporting, we will look into.

Hello,
is your device near router ? This behavior might have to do with low wifi signal in the spot that you have put your esp device.

HI @sarasini, have you solved your problem?  The WIFI_REASON_MIC_FAILURE looks very strange, could you help to provide following info:

Router brand
The frequency of the issue

@sarasini , Thanks for reporting, will close due to short of feedback, feel free to reopen.

authors: Alvin1Zhang HarveyRong-Esp kifantidis liuzfesp sarasini


text:
Update i2c.c: Support to configure the I2C alive_interval  (IDFGH-5401)

Add needed support to configure the I2C alive_interval to overcome a blocking issue with the 1000 ticks default, that equals to 1 second.
The issue is that I2C bus remains blocked by semaphore if one of several devices encounters an error on reading, what leads to the situation that other devices cannot be reached during that period. A flexible timer will overcome that, and sporadic issues observed with some hardware chips and noisy buses, are mostly gone in the next reread several milliseconds later, so a timer much more less that 1000 ms behaves much more lean and efficient.
The change is 100% backward compatible,
the default remains as is, but may optionally be overruled by set_i2c_alive_timeout( i2c_num, time );

Thanks for your contribution.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


text:
Can't upload .bin to 0x00010000 ESP32

When I use ArduinoIDE, all works correctly:
Compressed 940304 bytes to 602887...

Writing at 0x00010000... (2 %)
Writing at 0x000197fd... (5 %)
Writing at 0x0002591d... (8 %)
Writing at 0x0002ef7e... (10 %)
Writing at 0x0003e65a... (13 %)
Writing at 0x0004402c... (16 %)
Writing at 0x0004972b... (18 %)
Writing at 0x0004f616... (21 %)
Writing at 0x00055243... (24 %)
Writing at 0x0005a931... (27 %)
Writing at 0x0005ffed... (29 %)
Writing at 0x000652b4... (32 %)
Writing at 0x0006a626... (35 %)
Writing at 0x0006f83d... (37 %)
Writing at 0x00074b1b... (40 %)
Writing at 0x00079ebf... (43 %)
Writing at 0x0007f100... (45 %)
Writing at 0x00084429... (48 %)
Writing at 0x000894c8... (51 %)
Writing at 0x0008e874... (54 %)
Writing at 0x0009465e... (56 %)
Writing at 0x00099b05... (59 %)
Writing at 0x0009ed9f... (62 %)
Writing at 0x000a42b7... (64 %)
Writing at 0x000a94b2... (67 %)
Writing at 0x000ae91e... (70 %)
Writing at 0x000b3e98... (72 %)
Writing at 0x000b948f... (75 %)
Writing at 0x000bec93... (78 %)
Writing at 0x000c4a5f... (81 %)
Writing at 0x000ca397... (83 %)
Writing at 0x000d298c... (86 %)
Writing at 0x000db638... (89 %)
Writing at 0x000e095b... (91 %)
Writing at 0x000e625b... (94 %)
Writing at 0x000eb97b... (97 %)
Writing at 0x000f0e03... (100 %)

When I use esptool-js:
Compressed 940308 bytes to 602890...
Writing at 0x10000... (2%)
Writing at 0x14000... (5%)
Writing at 0x18000... (8%)
Writing at 0x1c000... (10%)
Writing at 0x20000... (13%)
Writing at 0x24000... (16%)
Writing at 0x28000... (18%)
Writing at 0x2c000... (21%)
Writing at 0x30000... (24%)
Writing at 0x34000... (27%)
Writing at 0x38000... (29%)
Writing at 0x3c000... (32%)
Writing at 0x40000... (35%)
Writing at 0x44000... (37%)
Writing at 0x48000... (40%)
Writing at 0x4c000... (43%)
Writing at 0x50000... (45%)
Writing at 0x54000... (48%)
Writing at 0x58000... (51%)
Writing at 0x5c000... (54%)
Writing at 0x60000... (56%)
Writing at 0x64000... (59%)
Writing at 0x68000... (62%)
Writing at 0x6c000... (64%)
Writing at 0x70000... (67%)
Writing at 0x74000... (70%)
Writing at 0x78000... (72%)
Writing at 0x7c000... (75%)
Writing at 0x80000... (78%)
Writing at 0x84000... (81%)
Writing at 0x88000... (83%)
Writing at 0x8c000... (86%)
Writing at 0x90000... (89%)
Writing at 0x94000... (91%)
Writing at 0x98000... (94%)
Writing at 0x9c000... (97%)
Writing at 0xa0000... (100%)

In .py writing starts from 0x00010000 in .js - 0x10000.
Looks like something wrong with int to address convert.

Please advice, thanks.

In .py writing starts from 0x00010000 in .js - 0x10000.

I don't see the problem here.
0x10000 == 0x00010000 == 0x000000010000
So what is the problem you're seeing?

I found a bug in my code. Thanks.

authors: EarlOld TD-er

repo: espressif/esptool-js


text:
Linux - libpdfium.so: error adding symbols: file in wrong format - ARM64

When building for linux on an ARM Processor (i have used a Raspberry), I'm getting the following output and the build fails:
[+2799 ms] Building Linux application...
[+1371 ms] executing: [build/linux/arm64/release/] cmake -G Ninja -DCMAKE_BUILD_TYPE=Release
-DFLUTTER_TARGET_PLATFORM=linux-arm64 /workspace/pdf_viewer/linux
[+5113 ms] -- The CXX compiler identification is Clang 11.0.1
[ +116 ms] -- Detecting CXX compiler ABI info
[+4969 ms] -- Detecting CXX compiler ABI info - done
[ +180 ms] -- Check for working CXX compiler: /usr/bin/clang++ - skipped
[  +10 ms] -- Detecting CXX compile features
[   +7 ms] -- Detecting CXX compile features - done
[ +298 ms] -- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
[  +30 ms] -- Checking for module 'gtk+-3.0'
[+1181 ms] --   Found gtk+-3.0, version 3.24.24
[+4721 ms] -- Checking for module 'glib-2.0'
[+1070 ms] --   Found glib-2.0, version 2.66.8
[+2607 ms] -- Checking for module 'gio-2.0'
[ +992 ms] --   Found gio-2.0, version 2.66.8
[+7520 ms] -- Configuring done
[+1859 ms] -- Generating done
[ +817 ms] -- Build files have been written to:
/workspace/pdf_viewer/linux/build/linux/arm64/release
[ +321 ms] executing: ninja -C build/linux/arm64/release install
[ +306 ms] ninja: Entering directory `build/linux/arm64/release'
[+11948 ms] [1/22] Building CXX object plugins/pdfrx/shared/CMakeFiles/pdfrx.dir/pdfium_interop.cpp.o
[+1432 ms] [2/22] Linking CXX shared library plugins/pdfrx/shared/libpdfrx.so
[   +3 ms] FAILED: plugins/pdfrx/shared/libpdfrx.so
[   +7 ms] : && /usr/bin/clang++ -fPIC -O3 -DNDEBUG   -shared -Wl,-soname,libpdfrx.so -o plugins/pdfrx/shared/libpdfrx.so
plugins/pdfrx/shared/CMakeFiles/pdfrx.dir/pdfium_interop.cpp.o
-Wl,-rpath,/workspace/pdf_viewer/linux/build/linux/arm64/release/.lib/x64  .lib/x64/libpdfium.so &&
:
[  +16 ms] /usr/bin/ld: .lib/x64/libpdfium.so: error adding symbols: file in wrong format
[  +15 ms] clang: error: linker command failed with exit code 1 (use -v to see invocation)

FAILURE: Build hang up.

What went wrong:
A problem occurred when cmake tries to link 'pdfium' dependency.

usr/bin/ld: .lib/x64/libpdfium.so: error adding symbols: file in wrong format

Flutter Doctor:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.16.7, on Debian GNU/Linux 11 (bullseye) 5.10.0-27-arm64, locale en_US.UTF-8)
[✓] Linux toolchain - develop for Linux desktop
[!] Flutter IDE Support (No supported IDEs installed)
[✓] Connected device (1 available)
[✓] Network resources

Reproduce:

Run flutter build linux -v.

It works fine on my linux x86_64 system. I think thats because of the hard-coded PDFIUM_LINUX_ABI in the file linux/CMakeLists.txt. When i change the variable value to "arm64" the build works fine, so a more dynamic CPU Family selection might be a solution.

0.4.7 is released that contains the change.


text:
after Wlan lost device not reconnect

after Power-cycle my Wifi the rf id reader do not reconnect anymore. It needs to power-cycle also each time the rfid reader lost WIFI.

I found out I had the same problem yesterday. After the wifi network is restarted the card does not connect again and does not even restart in configuration mode, the LED flashes. Practically the only way to make it work is to restart it manually.

Wi-Fi behavior will be improved as suggested. Thanks for reporting, you are heard, closing it for now.

authors: alegiovannelli beroliv omersiar

repo: esprfid/esp-rfid


text:
Berlin clock - Enable fast loading

This is a draft since I did not yet thoroughly test for memory leaks. The changes seem simple enough though ;)

Tested a bit and seems to be ok.

@gfwilliams Is something still missing for this PR?

No, looks good - thanks! I just didn't spot you'd committed the change :)
Thanks for getting that in!

authors: gfwilliams halemmerich

repo: espruino/BangleApps


text:
Paths are a pain to use and could be redone.

Paths are used a fair bit throughout the front-end.  They are just Strings though, and are typically :: separated symbols.
But there are a lot of places in the compiler where we're comparing them directly to Idents which don't have :: namespaces, which means either skipping the separator with path[2..] or building paths from Ident::name components.  It's all a bit clunky.
It might be worth analysing all our uses of Path and either restrict them to where they definitely need to remain as they are (probably at least declaration names) or perhaps enhance them so they're not just Strings and can be compared to Idents easily, etc.

I just realised I'm repeating my self.  #875 is a dupe of this, though we'll close this one and keep the other.

repo: essential-contributions/pint


text:
Added onClick prop to button and fixed justifyContent prop in Box

Added onClick prop to button
Fixed justifyContent prop in Box component to be taken into account.

Thank you!

My pleasure! Will push later tonight another one with a basic Input component done as well 👍

I wonder how you can follow so many changes I made. I think we are almost there. The last API seems to be the right.

authors: javier-tarazaga steida

repo: este/este


text:
How to call 2 search api calls in component?

Hello,
I have a requirement to run 2 search queries in this implementation of flux. The 2nd search query no need to pass from web part properties. Based on the query from web part props, I need to run different query along with actual query in the implementation. as the store in flux supports only one as per your example, how can I make 2 search calls and render results from both queries?
thanks
-Praveen.

Hi @praveenbattula have you seen the updated web part: https://github.com/estruyf/react-handlebars-search This one doesn't use Flux anymore, which makes it a bit easier. Also, the templating engine is a lot better with the use of Handlebars.

I have downloaded the code and reviewed. Felt like the handle bars project is more like javascript functions with lot of custom implementations, I personally liked the SPFX flux project initially you have created with more options to customize. Thanks for the reference, I am planning to create new project which is more robust and scalable which I can reuse the web part for multiple scenarios. I will keep you posted where I am with that, thanks again.

It's a preference, but indeed the focus of the other project is more around the templating capability.
The reason I didn't implement flux in that one, is that it is a bit of overkill because there aren't so many components which need to trigger store updates.

authors: estruyf praveenbattula

repo: estruyf/Search-WP-SPFx


text:
Could not set startDate and endDate when format="yyyy" and minViewMode="2" (years)

How to set startDate and endDate when format="yyyy" and minViewMode="2" (years)?

+1

Got it:
startDate: -50y
endDate: +1y
The documentation is not very clear about this. Got it by source code inspection.

@jogaco Do you maybe want to submit a PR to fix the docs to be more clear? Otherwise please open a seperate issue with some suggestions on how to fix the unclear docs!

@jogaco Thanks for showing how to specify the past 50 years. But I want to specify an absolute year like 1980, do I have to convert it to relative form like -35y? Is there a better way?
@acrobat I tried and for month and day I can specify an absolute value like 01/2014 or 01/01/2014, but 2014 does not work. This should be a bug, right?

@chuanconggao yes it looks like the month/year or year input is buggy indeed!

authors: acrobat chuanconggao jogaco

repo: eternicode/bootstrap-datepicker


text:
Does not work with React Slick if Fade is enabled

I'm mostly leaving this here for anyone who is having trouble with slick integration. RIM doesn't work if you have the fade option set to true on React Slick.

Yes it doesn't work with when fade equals to true

authors: isoceles sanojsilva

repo: ethanselzer/react-image-magnify


text:
feat(primitives): serde for L1BlockInfoTx

Overview
Adds a conditional Serialize + Deserialize implementation for L1BlockInfoTx.

#460  👈
main

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

Join @clabby and the rest of your teammates on  Graphite

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

Project coverage is 78.4%. Comparing base (0048fcc) to head (3cfc11b).

Files
Patch %
Lines

crates/primitives/src/block_info.rs
0.0%
2 Missing :warning:

Additional details and impacted files

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

authors: clabby codecov-commenter

repo: ethereum-optimism/kona


text:
ensure chainwork is correctly initialized when deploying to Frontier

on Morden, it is a known issue that the chainwork is NOT accurate.  Need to make sure it is correct when deploying to Frontier.
also, replace "cumulative difficulty" with chainwork to be more accurate with terminology

fixed in 1466934

repo: ethereum/btcrelay


text:
Test epoch processing rewards/penalties

This is a select set of tests isolated from the other tests that are included in the spec-freeze itself. Tests quality and feature-completeness was prioritized over rushing these in. Now after spec-freeze, the goal is to provide these as an addition (perfectly backwards compatible / not touching the spec itself), to complete the coverage.
Part of this functionality is already covered by the block tests and others. But to complete it, we need to dig into simulation of attestation (as done for earlier epoch processing justification/finalization tests), and crosslinks. Then see if we can cleanly model the balance changes for assertions.
TODO in process_rewards_and_penalties:

[ ] matching penalties/rewards

[ ] matching head: penalty, reward, none, both
[ ] matching target: penalty, reward, none, both
[ ] matching source: penalty, reward, none, both

[ ] proposer inclusion delay
[ ] inactivity penalty
[ ] crosslink committee:

[ ] penalty if not in committee, reward if in committee
[ ] no crosslink, empty participation, everyone penalty

Are these tests still TODO?

At the time it was considered too convoluted to setup tests for rewards/penalties, since the spec itself doesn't really isolate the computation from that of the chain inputs. But crosslinks have been removed, so it should be better now. I can pick it up now, but also want the phase1 pr merged first (and remaining complexities with factoring in phase 1 functionality). Maybe close this in favor of a phase1 ready testing issue?

Maybe close this in favor of a phase1 ready testing issue?

Sure, go ahead if you think that's the way forward :) I'm mainly doing a pass on old/stale issues.

Closing in favor of #1526

authors: JustinDrake protolambda


text:
suffix ALTAIR on update constants

addresses #2231
I'm not entirely satisfied with this because there is a precedent for putting a fork(ish) signifier at the prefix of a constant name -- GENESIS_FORK_VERSION and GENESIS_SLOT.
We have something of an analogue in Altair with ALTAIR_FORK_VERSION. I we move to suffix this, it slightly breaks the original pattern, and if we keep it as the prefix but modify the other penalty constants, we  have what could be considered two different naming schemes.

More comments:
I think it's okay to use the NAME_{spec_version} scheme for the constants that are replacing its previous fork. GENESIS_FORK_VERSION/ALTAIR_FORK_VERSION and GENESIS_SLOT/ALTAIR_FORK_SLOT are not in this category.

I'm okay with that

authors: djrtwo hwwhww


text:
feat(docs): add info about ripemd160 & update github actions

🗒 Description

Improve "Running Github Actions Locally" developer docs section.
Add RIPEMD160 precompile problem to "Installation Troubleshooting".
Also snuck in: Improve tox commands in "Verifying Changes" (tox -> uvx --with=tox-uv tox).

🔗 Related Issues
#792
✅ Checklist

[x] All: Set appropriate labels for the changes.
[x] All: Considered squashing commits to improve commit history.
[x] All: Added an entry to CHANGELOG.md. Skipped
[x] All: Considered updating the online docs in the ./docs/ directory.
[x] Tests: All converted JSON/YML tests from ethereum/tests have been added to converted-ethereum-tests.txt.
[x] Tests: A PR with removal of converted JSON/YML tests from ethereum/tests have been opened.
[x] Tests: Included the type and version of evm t8n tool used to locally execute test cases:  e.g., ref with commit hash or geth 1.13.1-stable-3f40e65.
[x] Tests: Ran mkdocs serve locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.

Need to fix line 517 in filler.py plugin

Thanks for adding the ConfigParser fix, @winsvega

authors: danceratopz winsvega

repo: ethereum/execution-spec-tests


text:
Portal Data Swarms - Concept design for fast access to high-demand data

Here I try to outline a new construct, a "swarm" for the future of the portal network that is aimed at delivering high speed access to a specific subset of the ethereum data that is in high demand.
Examples of this would be:

fetching the latest state data for a popular smart contract.
fetching large quantities of contiguous state or history data for purposes such as a "full node" doing a full sync.
acquiring the first few (1-3) layers of the main state trie for recent state roots
listening for logs/events

Each swarm would be given a "topic" which for simplicity we'll represent as a 32-byte hash.  Each topic would represent a specific data set that someone might want, such as:

sha256(/execution-state/<unswap-address>/) -> the topic for the latest state for the uniswap contract..
sha256(/execution-history/epoch-<N>/) -> the topic for all of the block data in epoch N

For each topic, a swarm, can be thought of in much the same way that we think of the portal network sub-protocols.  Each would be an overlay DHT, comprised of only nodes that have joined the swarm (the same way that a portal node joins the sub-protocol simply by sending PING/PONG messages.  These overlay DHT's would likely have a steady stream of nodes joining and leaving the DHT/swarm.  Content would likely be mostly gossip, though I can see some swarm topics such as a specific contract's storage where FINDCONTENT would be applicable.   For some topics it may make sense to be gossip only such as listening for specific events being emitted by smart contracts.
General Thoughts and Ideas
Nodes that want to serve data.
This seems viable for nodes that want to be the "server" for a specific subset of the state.  For example, there may be parties that are interested in hosting all of the uniswap contract state data.  Those nodes would persistently make themselves part of the swarm(s) for the relevant topics, and would primarily be the providers for data requests in that topic.
A more complex version of this might be nodes that are willing to generate access-lists or even witnesses for execution.  Those that operate certain protocols might be willing to run stateful nodes that are able to quickly return an access list for a specific set of transaction inputs in order to allow lightweight nodes to quickly gather the necessary state concurrently rather than sequentially.
Fast access to popular data sets of manageable size.
Some swarms may be constantly valuable.  One example would be the first three(3) layers of the main account state trie for recent blocks.  The dataset if small (a few MB at most) and would be easy to quickly replicate across all nodes in the network.  All state lookups end up traversing through this section of the trie.  It would be relatively easy for every node in this swarm to provide a full proof down to the 3rd layer of the trie in a single request to pretty much any node in the swarm.
Another example might be the most recent 256 headers.  It would be relatively trivial to store all of this and to support fetching them in bulk.
Discovery is a problem
One problem that needs to be solved to enable this type of functionality is discovery.  In order to join a swarm one would need to be able to discover existing nodes that are part of the swarm.  In the event that there are no other nodes, one would need to be able to advertise to others that you are interested in a specific swarm topic (and thus that they could use you as a bootnode to find other nodes).
The base discovery v5 protocol intends to implement this functionality for us, but as of yet, it hasn't been done/released/finalized.

I previously published another idea that has a lot of overlap with this one, and that this swarm idea would enable.
One possible swarm might be a set of nodes that when combined, provide full coverage of the DHT address space.  Joining this swarm would likely mean maintaining a session with all of the other nodes in the swarm, and collaboratively answering each other's requests for data.  This approach could allow much lower latency when retrieving data from the network by allowing nodes to collectively collaborate on answering each other's requests and removing the need to traverse the DHT.

repo: ethereum/portal-network-specs


text:
Add 'clippy::cargo' and 'unused_crate_dependencies' lints to Makefile

What was wrong?
Related to Issue #599.
How was it fixed?
Add a new Makefile lint-optional command. This command includes the original lint checks, and adds the clippy::cargo and the rustc lint unused_crate_dependencies. It will bump up warnings and includes some false positives as #599 said.
To-Do

[x] Add entry to the release notes (may forgo for trivial changes)
[x] Clean up commit history

Nice naming! I got stuck for about five minutes on naming.

Thanks @e3243eric 🥳

repo: ethereum/trin


text:
Need persistent storage for ENRs

In order to fix #1299 we're probably going to need a persistent storage for ENRs retrieved as part of peer discovery. We need to figure out the requirements of said storage and then decide what backend we're going to use for it

I'd suggest something similar to the approach used in the network-db component, though there is some frustrating fragility in managing the database file itself.

I was thinking it would be nice to simply dump ENRs in a directory. This would make it very easy to manually share or compare them with other nodes.
Filename could be f"enr_{encode_hex(node_id)}_{sequence_number}", content the standardized base64 representation.

I was thinking it would be nice to simply dump ENRs in a directory.

I like the simplicity and flexibility of that approach.

authors: cburgdorf gsalgado jannikluhn pipermerriam

repo: ethereum/trinity


text:
added blockHash to FilterOptions

Merge this when you feel like its the right time

Once there is a version Geth and Parity released that supports fetching logs by blockhash I'll be ripping out everything related to fetching logs by number (there are so many problems with fetching by number, you should never use it when working near head, it is only useful for reading history (e.g., 10+ blocks back) which blockstream doesn't do.
This change will be included, as well as a bunch of other stuff to fix all of the current known problems.

Superseded by #25.

authors: MicahZoltu nionis

repo: ethereumjs/ethereumjs-blockstream


text:
feat: p2p disconnect with reason

This change is

@aloknerurkar could we also have the signature change on the Blocklist method on the Disconnecter interface? (in the p2p.go file)

@acud The sonar cloud check is complaining about code duplication in the accounting_test.go file. These don't seem as straightforward. Not sure if we should address this.

authors: acud aloknerurkar

repo: ethersphere/bee


text:
[WIP] Add settings to toggle %gp_rel usage on generated assembly

Fixes #391
This is still a Work-In-Progress.
I'm opening this PR in the current state since I'm looking for people to actually test that this new feature is working properly.
To test this PR:

Install / checkout this PR.python3 -m pip uninstall splat64
python3 -m pip install git+https://github.com/AngheloAlf/splat.git@gpRelHack

Set use_gp_rel_macro_nonmatching: False on your yaml
Disable your own custom %gp_rel patching system.

If everything works as it should then running splat and then building your project should Just Work :tm:. Please let me know if it doesn't.

undrafted the PR

looks grood, just need changelog

authors: AngheloAlf ethteck

repo: ethteck/splat


text:
nox support for git tagging with scheme to support feature branch builds

Partially closes #2917
Code Changes

git_nox.py to include git-related sessions and utilities
a new nox session, tag, which generates a tag and applies it to the currently checked-out HEAD commit, based on the currently checked-out branch and existing tags in the repo

dry_run option allows user to check what the generated tag would be without actually applying it. e.g. nox -s tag -- dry_run
push option allows user to push the generated tag to the remote, e.g. nox -s tag -- push. without push, the tag is just applied to the current commit locally, but can then be pushed by the following command below
push_local option allows user to just push the current tag on the HEAD commit, no matter what it is. no new tag is generated. this may be used if you want to run nox -s tag without pushing, but then want to push what you'd generated.

an automated test for the utility that generates the tag, to evaluate the tagging logic/scheme. (yes, a test of our nox component is pretty meta...maybe this is a no-no? 😬 )

and a nox session to execute these tests, nox -s "pytest(nox)", which is now run as part of our backend checks in CI. is this too meta???

Steps to Confirm

you can use nox -s tag -- dry_run locally to evaluate what some of the tags may be, switching to different branches and also applying certain tags locally to evaluate different scenarios

please don't push your test tags to the remote if you can avoid it, as there are GH CI actions that are triggered whenever a tag is pushed, and we don't want to create cruft/use resources unnecessarily

Pre-Merge Checklist

[x] All CI Pipelines Succeeded
Documentation:

[ ] documentation complete, PR opened in fidesdocs
[ ] documentation issue created in fidesdocs

[x] Issue Requirements are Met
[ ] Relevant Follow-Up Issues Created
[x] Update CHANGELOG.md
[ ] For API changes, the Postman collection has been updated

Description Of Changes
Tagging scheme described in this doc has been updated to match what i've implemented here, and i believe it should work well for us going forward. See some of the automated test cases in this PR to get a feel for how the tag generation works in different scenarios. There are some changes to how we've tagged and versioned up to this point, but nothing too drastic. I'm open to hearing other ideas if anyone's got concerns with what i've landed on though!
We'll need to update the release process doc a bit so that release managers:

ensure they make release branches with release- prefix
can leverage the new nox session to generate rc tags on their release branch, in a consistent and reliable mannger
can leverage the new nox session to generate a b0 tag on main after publishing the release
Note that the final, official release tag will still be done thru GH UI, as release notes are generated, etc. Changing that process would be disruptive.

Beyond those minor improvements to the release process, this functionality will more importantly allow us to publish testpypi packages based on feature branches in an easy and reliable way, which in turn will allow us to build fidesplus "edge" or "double-edge" environments based on feature branches. In order to do that, this change will be coupled with a new nox option in fidesplus that allows the feature-branch version of fides to be explicitly pinned into the edge/double-edge build process.

I think this looks really good @adamsachs ! Thanks for the helpful PR description as well. Left a few comments/suggestions that shouldn't be blocking anything but let me know what you think. A lot of this is pretty difficult to see all the way through until it is in the wild but it looks great 👍🏽

Thanks for the helpful comments @SteveDMurphy! i fixed up and rebased to keep a clean commit history - i think i got them mostly addressed besides one i was a bit unclear on what you were suggesting. let me know when you get a chance to look, no huge rush!
FYI i also added in the nox tests themselves into our CI workflow, i hope this isn't getting too meta...

FYI i also added in the nox tests themselves into our CI workflow, i hope this isn't getting too meta...

I think it's nice to have! It's sort of an odd failure in CI tho after passing locally 🤔  I didn't look too closely but if it becomes a problem maybe strip it out and add a follow on issue so we can see more of this in the wild and circle back as needed

FYI i also added in the nox tests themselves into our CI workflow, i hope this isn't getting too meta...

I think it's nice to have! It's sort of an odd failure in CI tho after passing locally 🤔 I didn't look too closely but if it becomes a problem maybe strip it out and add a follow on issue so we can see more of this in the wild and circle back as needed

aw shucks, it seems like the GH runner isn't actually able to connect to the git repo to read tags 🤔 ... i'll see if i can debug it a bit, or maybe i can do some mocking in the tests so as to not rely on git access. but i'll probably timebox that effort if i can't find something relatively quick.

FYI i also added in the nox tests themselves into our CI workflow, i hope this isn't getting too meta...

I think it's nice to have! It's sort of an odd failure in CI tho after passing locally 🤔 I didn't look too closely but if it becomes a problem maybe strip it out and add a follow on issue so we can see more of this in the wild and circle back as needed

aw shucks, it seems like the GH runner isn't actually able to connect to the git repo to read tags 🤔 ... i'll see if i can debug it a bit, or maybe i can do some mocking in the tests so as to not rely on git access. but i'll probably timebox that effort if i can't find something relatively quick.

ok @SteveDMurphy! i think i got this figured out, just needed to explicitly fetch the tags once in the test session. tests were passing in CI on previous commits, they should be good on this re-run. i also simplified the available commands per the discussion above. i've left it as a separate commit so if we want to revert, we can - but i'll rewrite the GH description accordingly. i think this new behavior is safer, easier to use, and easier to follow in the code. let me know what you think.

authors: SteveDMurphy adamsachs

repo: ethyca/fides


text:
Issues Seeding Data due to Import Issues with Multilang models

Closes #PROD-1839
Description Of Changes
Running nox -s -- shell postgres  fails when the postgres setup script runs due to the way we've defined some of our new multitranslation models:
sqlalchemy.exc.InvalidRequestError: When initializing mapper mapped class PrivacyNotice->privacynotice, expression 'experiencenotices' failed to locate a name ("name 'experiencenotices' is not defined"). If this is a class name, consider adding this relationship() to the <class 'fides.api.models.privacy_notice.PrivacyNotice'> class after both dependent classes have been defined.
no custom setup logic found for postgres, skipping

You can get around this by importing in the ExperienceNotices model early into that script, but instead let's try to define these models more properly. I don't know if anyone else has hit this because nox - fides_env(test) works fine for me, if the imports are done in a certain order it would work.
Code Changes

[ ] Move the ExperienceNotices many-to-many model into its own file (ExperienceNotices link Notices to Privacy Experience Configs)
[ ] Define the ExperienceConfig.privacy_notices relationship on one side (ExperienceConfigs) instead of both sides

Steps to Confirm

[ ] nox -s -- shell postgres should work as expected with postgres example database seeded
[ ] Unit tests should pass here and in fidesplus

Pre-Merge Checklist

[ ] All CI Pipelines Succeeded
Documentation:

[ ] documentation complete, PR opened in fidesdocs
[ ] documentation issue created in fidesdocs

[ ] Issue Requirements are Met
[ ] Relevant Follow-Up Issues Created
[ ] Update CHANGELOG.md
[ ] For API changes, the Postman collection has been updated

Pinned Fidesplus here to look for failing tests https://github.com/ethyca/fidesplus/pull/1356/files, I don't think any imports need to be adjusted on that said, ExperienceNotices as a many-to-many table often isn't called directly

@galvana can I get you to look at this when you have a monent?

! I updated the command in the description to nox -s dev -- shell postgres

Oh sorry! thank you

Thank you for the review @galvana ⭐


text:
Enable Manual Webhooks in Request Execution [#1228]

Purpose
Enable the new "Manual Webhook" Connector.  In short, if manual webhooks are configured, the privacy request will be in a state of requires_input until data has been supplied for each webhook.  Once the privacy request is resumed, the graph will run as usual and any manually uploaded data will be directly added to the final data package.  The data is not used as part of the graph and is not filtered by data category.  All uploaded data is passed to the user as-is.
Changes

Add four new API endpoints

Get all access manual webhooks GET "/access_manual_webhook"
Upload data for a manual webhook on a given privacy request: PATCH /privacy-request/{privacy_request_id}/access_manual_webhook/{connection_key}

There is no webhook key since there's only one AccessManualWebhook per ConnectionConfig of type manual_webhook so the connection_key is for the ConnectionConfig.

Resume privacy request in requires_input state once all webhook data is uploaded: POST "/privacy-request/{privacy_request_id}/resume_from_requires_input"
Get manually uploaded data for a given webhook GET /privacy-request/{privacy_request_id}/access_manual_webhook/{connection_key}

Update privacy request execution to accommodate new manual webhooks.  Once all data has been uploaded, proceed with request execution, and then take the manual data and add it directly to the final upload package.

Checklist

[x] Update CHANGELOG.md file

[x] Merge in main so the most recent CHANGELOG.md file is being appended to
[x] Add description within the Unreleased section in an appropriate category. Add a new category from the list at the top of the file if the needed one isn't already there.
[x] Add a link to this PR at the end of the description with the PR number as the text. example: #1

[x] Applicable documentation updated (guides, quickstart, postman collections, tutorial, fidesdemo, database diagram.
If docs updated (select one):

[ ] documentation complete, or draft/outline provided (tag docs-team to complete/review on this branch)
[ ] documentation issue created (tag docs-team to complete issue separately)

[x] Good unit test/integration test coverage
[ ] This PR contains a DB migration. If checked, the reviewer should confirm with the author that the down_revision correctly references the previous migration before merging
[ ] The Run Unsafe PR Checks label has been applied, and checks have passed, if this PR touches any external services

Ticket
Fixes #1228

Nice work on this @pattisdr ! Learning some new things around pydantic models and types. Just a couple Qs to address.
Tagging @conceptualshark also to review docs.

Thanks for your comments @eastandwestwind, back to you!

Thanks for taking a look @conceptualshark!

authors: eastandwestwind pattisdr

repo: ethyca/fidesops


text:
Feature/cmake

using pure cmake to build all the projects
minor fixes regarding target linking and explicit template prespec
added FindIpopt.cmake

[ ] properly resolve lapack dependency (don't put in package.xml since it's optional)

@jcarius the cmake-only version should be fit for testing - I would be curious to see if it works out of the box with your local CT-based developments (it should!).
It still supports catkin, i.e. catkin build ct_optcon -DBUILD_EXAMPLES results in the same behaviour as before.
Important note: you may need to adjust your downstream projects in one single aspect. That is ct cannot be listed as catkin_dependency anymore. Now it needs to go under the standard DEPENDS tag.

repo: ethz-adrl/control-toolbox


text:
[Backport] Align multiple DEMs with TF (#34)

Problem Description
This is a backport of https://github.com/ethz-asl/grid_map_geo/pull/34 to ROS2

Want help fixing merge conflicts?

@Ryanf55 I actually need to fix the part where tf seeped into the grid_map_geo library first

@Ryanf55 I actually need to fix the part where tf seeped into the grid_map_geo library first.
I would like to keep ros dependencies outside grid_map_geo

Sounds good. If you want to split the package into grid_map_geo_core and grid_map_geo_ros packages, that could work too.

@Ryanf55 This should now allow you to download multiple DEMs and Rviz will show them already aligned.

Nice work! Just had to zoom out a bit from the default location in the rviz config to see both. A few small things to touch up if you want, otherwise LGTM.

@Ryanf55 You can actually call sertig and dischma_valley that looks like the following

@Ryanf55 I have tried to address the review comments! Thanks for having a look!
I would probably ignore the style checks and leave it to https://github.com/ethz-asl/grid_map_geo/pull/45

@Ryanf55 Good to get in?

Looks good!