Add support for specifying the config in a file, (partially) add resume token support

This is a ~90% PR, but I'm not going to have time to work on this for the rest of the week, so figured I'd get it in front of you to consider / comment on.
This adds support for loading settings from a config file using the module https://github.com/phha/click_config_file - it's a pretty decent module - it just loads each command line argument from the specified config file and falls back to normal behavior if no config file or the option is not specified in the config.
I also added support for reading (but not writing) the resume token and using that instead of the password. I couldn't find a good way in Click to make two options mutually exclusive - I wanted token to negate the need for password, but if neither was specified, then prompt for password.
The closest I found to an out-of-the-box solution was this module https://pypi.org/project/click-option-group/ - and some discussions from the project maintainer about how this type of thing was out of scope of the project, which doesn't make much sense to me.  Honestly, I got frustrated with trying to implement it and rolled my own that's good enough.
If you have better ideas, please let me know.
Re resume token - I'm not sure:

how long the resume token lasts for - I've been using the same one for two days now
if it's any more secure than just storing an app password - the API implies it's still a full account access

I'm just thinking Google is less likely to lock an account that polls frequently as suspicious if it uses the token.
I think the program should probably save an updated token after every run, and I don't consider this really complete until that's done.

Don't worry about the failed check, it's a broken github action.
I'm still catching up on your earlier big PR/proposal (Does the TODO here still apply? or does this PR cover much of it?)

Don't worry about the failed check, it's a broken github action.
I'm still catching up on your earlier big PR/proposal (Does the TODO here still apply? or does this PR cover much of it?)

About the resume token, I like the idea of using it, but I'm not sure where exactly to store it. ~/.config/keep-exporter/config.cfg is an option. Or should there be no default path, and if the user wants to use the config file we can assume they are advanced enough to know to point to the file with --config?
The two main ways I see people using this is:

a once-off (or infrequent) run to archive or migrate from keep. In this case less setup is better, the -u /-p options or prompts are meant for this.
In a scheduled fashion. Config files or the environment variables are meant for this use.

About the resume token, I like the idea of using it, but I'm not sure where exactly to store it. ~/.config/keep-exporter/config.cfg is an option. Or should there be no default path, and if the user wants to use the config file we can assume they are advanced enough to know to point to the file with --config?
The two main ways I see people using this is:

a once-off (or infrequent) run to archive or migrate from keep. In this case less setup is better, the -u /-p options or prompts are meant for this.
In a scheduled fashion. Config files or the environment variables are meant for this use.

The token is not any more or less secure than logging in with the password, it is for reducing the amount of authentications you need to make against Google keep. Your line about google locking the account is correct.
With that being said, updating the login token every time this is run is counter-productive to using the token login, and not possible (with token logins).
The login token is only changed when logged in via password. The token remains the same when you login with a token.
The most practical option is to have the tool fallback to password login if token login fails, and updating the token then. My reservations about that approach is the possibility of it messing up automation/cron jobs with false positives/silent failures.

The token is not any more or less secure than logging in with the password, it is for reducing the amount of authentications you need to make against Google keep. Your line about google locking the account is correct.
With that being said, updating the login token every time this is run is counter-productive to using the token login, and not possible (with token logins).
The login token is only changed when logged in via password. The token remains the same when you login with a token.
The most practical option is to have the tool fallback to password login if token login fails, and updating the token then. My reservations about that approach is the possibility of it messing up automation/cron jobs with false positives/silent failures.

This has worked nicely in my quick testing, merging it.

This has worked nicely in my quick testing, merging it.

I'm still catching up on your earlier big PR/proposal (Does the TODO here still apply? or does this PR cover much of it?)

I've edited this comment now and marked the ones I think no longer apply and left empty checkboxes for the ones I think do.

I'm still catching up on your earlier big PR/proposal (Does the TODO here still apply? or does this PR cover much of it?)

I've edited this comment now and marked the ones I think no longer apply and left empty checkboxes for the ones I think do.

Cheers, thanks! My presences today will be diminished, I slipped a rib and can barely move my mousing arm.
I invited you as a collaborator, and the new work branch is token-config. There I'm refactoring exporting/login/cli logic to different files. As well as adding config file writing (for updating the token). And maybe check your email when you get a chance :)

Cheers, thanks! My presences today will be diminished, I slipped a rib and can barely move my mousing arm.
I invited you as a collaborator, and the new work branch is token-config. There I'm refactoring exporting/login/cli logic to different files. As well as adding config file writing (for updating the token). And maybe check your email when you get a chance :)

The token is not any more or less secure than logging in with the password, it is for reducing the amount of authentications you need to make against Google keep. Your line about google locking the account is correct.
The login token is only changed when logged in via password. The token remains the same when you login with a token.

Ok, I didn't verify the token behavior, was assuming it stored some state due to the name given by gkeepapi - "resume token" implies to me more than just log back in.

The most practical option is to have the tool fallback to password login if token login fails, and updating the token then. My reservations about that approach is the possibility of it messing up automation/cron jobs with false positives/silent failures.

That depends on expiration of the token.  If it never expires, I'd prefer to only store the token in my config - assuming the token cannot be used for an interactive login attempt elsewhere, it's maybe slightly more secure to keep than the password. While the token does give full access, it's less convenient and less of an attack vector than a username + password sitting beside each other.
Ultimately, I would prefer neither but worry about neither (much) in my context - an environment of full trust and zero external access (hopefully!).

The token is not any more or less secure than logging in with the password, it is for reducing the amount of authentications you need to make against Google keep. Your line about google locking the account is correct.
The login token is only changed when logged in via password. The token remains the same when you login with a token.

Ok, I didn't verify the token behavior, was assuming it stored some state due to the name given by gkeepapi - "resume token" implies to me more than just log back in.

The most practical option is to have the tool fallback to password login if token login fails, and updating the token then. My reservations about that approach is the possibility of it messing up automation/cron jobs with false positives/silent failures.

That depends on expiration of the token.  If it never expires, I'd prefer to only store the token in my config - assuming the token cannot be used for an interactive login attempt elsewhere, it's maybe slightly more secure to keep than the password. While the token does give full access, it's less convenient and less of an attack vector than a username + password sitting beside each other.
Ultimately, I would prefer neither but worry about neither (much) in my context - an environment of full trust and zero external access (hopefully!).

I slipped a rib and can barely move my mousing arm.

Yikes - I hope that's a quick recovery! Email received and appreciated will reply, but might be a couple of days.
Thanks for taking my stomping on your project so gracefully - you caught the full brunt of my weekend's hacking enthusiasm.

I slipped a rib and can barely move my mousing arm.

Yikes - I hope that's a quick recovery! Email received and appreciated will reply, but might be a couple of days.
Thanks for taking my stomping on your project so gracefully - you caught the full brunt of my weekend's hacking enthusiasm.

And thanks for the updated TODO, right off the bat I think I know the source of the unicode filename errors: validate_path_string().

And thanks for the updated TODO, right off the bat I think I know the source of the unicode filename errors: validate_path_string().


Modal - Can display modal only once

Description
Can display modal only once (if isOpen=true on initialisation) and successfully close. After it is closed, I can no longer reopen it as expected.
Example Code Snippet

const [modalOpen, setModalOpen] = useState(false)
return (
<Button onClick=(_ => setModalOpen(true)>Click me
<Modal
title="Example"
isOpen={modalOpen}
onClose={_ => setModalOpen(false)}

)

This is a known issue that needs resolving. The internal state in the modal needs removing and the show/hide behaviour should be delegated to the consumer.
A workaround for now is to use routes:
https://github.com/Royal-Navy/coffee/blob/a4234b192553bc12dbcc02496e093909bf4fa260/src/pages/Subscriptions/index.jsx#L57


Consider adding support for references to on-heap objects

Should be implementable with the help of JNI's global references that let one mark objects as non-collectable for a fixed period of time. It's not clear if overhead and distribution complications are going to be worth it.

What about having an additional array (or some kind of hash table) of real on-heap references, and you just point to this table from the off-heap objects? This of course, would be hidden under the implementation, and the user wouldn't see it.
This has the advantage of being extremely simple, and plays well with GC. On the other hand, you introduce one more indirection, but it might be really small in most cases.
Also, it would be possible to de-duplicate references, saving some space on the table, and other optimizations.
What do you think?

@siriux
It does play well with GC but how do you clean it up? If you just add stuff to one global array and leave it there forever it means that those objects and their transitive closure will never be garbage collected. That's a memory leak in the making.
It might be possible to make those arrays region-local though. But this will require some extra memory overhead to remember corresponding region for each allocated object. It's yet to be seen if the overhead of this is going to be worth it. I need to experiment with the idea.

@densh
Sorry I didn't make it clear in the previous comment, but I was thinking about region-based allocation. In this case, you have one array per region, and when the region goes out of scope (or is explicitly deleted) you can clean the whole array too. In that case is really simple and there is almost no overhead (just a pointer from the region to the array, and maybe some other minor things).
In the case of independently allocated objects outside of regions it's more difficult, but I have some ideas. For example, you can do better than an array pointer per object if you have a single array for all independent objects (therefore you don't need a pointer in every object). Then, to allow GC, when you delete/free an object (and this operation is explicit, unlike GC) you can set all it's on-heap pointers to null.
Even better, you can set the pointers to a special "Deleted Object" that marks this place on the array as free, and the following allocations can reuse these pointers.  The "Deleted Object" search can be optimized in many ways, as it's done by other allocators, databases, ...
I hope its clearer now

Impossible to implement efficiently, therefore we're not going to support his.


ANC - final fixes

#413
#375
#337
#252
#354
#387
#368
#268
#340

Medication:

Hospitalization:

@AronNovak please review


Add Command: Focus on panel action bar drop-down

All OS'
For keyboard users/disabled using Tab to get to the panel action bar it's a bit of a journey.
While there are several focus or show commands including individual commands for multiple terminals,
Extensions and some other items need to be selected from the drop-down. DirectFocus
would be great and would also make it easier to get to the other action items with arrows

@isidorn thoughts on a workbench.action.focusPanelActionBar command that would focus the first item in the action bar, be it a button or a dropdown? Can you add other relevant people to the issue?

@Tyriar
@isidorn
I am free labor, am happy to do a PR - just want to know I'm not duplicating something if someone else  starts to work on it or the command is not acceptable to the team.

I am against this due to:

An action like focusDropdown does not make sense as it is too specifc, while focusActionBar makes sense however to focus the action bar currently a user just needs to press shift + tab
Adding a new command is not discoverable, IMHO users using only they keyboard for accessibility reasons are used to using the tab key for this

Due to the reasons above I am closing this issue as designed.
I will reopen it of course if there are good reasons which I am missing.
Thank you

while focusActionBar makes sense however to focus the action bar currently a user just needs to press shift + tab

@isidorn this is not true for the terminal, you need to hit ctrl+m (enable tab mode), shift+tab, otherwise the terminal will eat the tab. Discoverability may be an issue but this would be pretty frustrating if I could not use a mouse.
Maybe vscode-docs should have a page on optimizing VS Code for use with only a keyboard?

@Tyriar you are right. Then I feel this is a terminal specific issue, and not a panel issue.
I like the idea for vscode-docs.
ping @gregvanl and @chrisdias that we should push for this and have a page for VS Code used only via keyboard.

Maybe vscode-docs should have a page on optimizing VS Code for use with only a keyboard?

/cc @waderyan


Doesn't bring up appropriate store on Kindle

This module works great on iOS and android however, when a user clicks the link using Silk on their kindle they are directed to the google playstore.
We have added the <meta name="kindle-fire-app" content="app-id=B00JMRGQHI"> tag that worked on our old app using the jquery based library.  Is there a specific prop I need to add to make this work with the Amazon store?

I created a PR that solves this issue
#5

Thank you for your contribution!
Merged your PR and published as v2.1.0.

looks good to me


NIFI-2026 - Add Cloudera, Hortonworks and MapR repositories to

enable users to seamlessly build NiFi using 3rd party (non-Apache)
Maven artifacts

This is the same PR as the one previously discussed as https://github.com/apache/nifi/pull/475
I accidentally closed that PR and GitHub doesn't seem to allow me to re-open it.

@mattyb149

+1 LGTM, was able to build and run with various vendor-specific Hadoop versions (after some small tweaks I'll add to the PR before merging). Merging to master


Notify TogglesUpdatedListeners after context is updated.

Describe the feature request
Calling UnleashClient.updateContext triggers a call to RefreshPolicy.refreshAsync(), which fetches the latest toggles using the updated context. On successful fetch, the updated toggles are written to the toggle cache, but they should also trigger an update to all the TogglesUpdatedListeners.
The flow I described lives here: https://github.com/Unleash/unleash-android-proxy-sdk/blob/main/src/main/kotlin/io/getunleash/polling/RefreshPolicy.kt#L73-L79.
Background
No response
Solution suggestions
Moving AutoPollingPolicy.broadcastTogglesUpdated() to RefreshPolicy, and calling the method right after this line should do the trick.

can confirm that the solution is working, are you guys open for pull request?

I just spent a number of hours debugging this problem. I believe it's a bugfix, not an enhancement, because currently it's impossible to update the context if you work with listeners. Listeners will not receive the updated state of the toggles until the toggles change again.
Because refreshAsync writes the new state of the toggles to the cache, it means that future polls return false to this check, meaning that listeners are not updated there, either.
In my particular situation, I create the client without the context and with PollingModes.manuallyStartPolling(). Later I add the context and then start polling, but since adding the context updates the cache as described above, the listeners never discover the state of the toggles.

@jagtejsodhi I think your solution would do, though the ideal thing would be to call AutoPollingPolicy.updateToggles(), except you would want to do it non-blocking.
Perhaps: refreshAsync() should be abstract in RefreshPolicy. FilePollingPolicy should have a NOOP implementation. AutoPollingPolicy should implement it with an async version of the logic which is currently in updateToggles().
If you want to work with context changes and listeners before this is fixed, there are two possible workarounds I can think of:

Manually recreate the client every time you update the context. This has the effect of resetting the ToggleCache. You need to create and cache the client somewhere, and offer it to consumers as a Flow. Whenever the context changes, you call client.close() and then emit a new client on your flow.
During client creation, provide your own implementation of ToggleCache. In your implementation, add a method which clears the cache. Whenever you want to update the context, call:

updateContext(context).thenAccept {
    toggleCache.clear()
    client.updateToggles()
}

In #56 we move the broadcast of the toggles updated event into the update of the toggle cache in RefreshPolicy, so no matter how you update the RefreshPolicy you will now get the event broadcast. Sorry, this was an oversight.

We've also taken this into consideration in the new SDK: https://github.com/Unleash/unleash-android


eksctl anywhere delete cluster -f requires pwd to be the upper level of the provided file.

Create a cluster with eksctl anywhere create cluster -f ...
cd ${somewhere else}
run eksctl anywhere delete cluster -f ~/path/to/cluster.yaml

Expected: Cluster gets deleted
Actual: Error: KubeConfig doesn't exists for cluster ${clustername}

I have a nasty feeling I introduced this.

@lewisdiamond Is this off mainline or a release?

Confirmed its not the changes in #1302.

From the latest release.


Missing argument batch_size when sampling from SNPE_A

Hi,
Sorry in advance if the question is trivial or in the wrong place...
I'm getting this error:
`TypeError                                 Traceback (most recent call last)
/var/folders/_b/qt7bmb5154l22n5k1rjgvbym0000gn/T/ipykernel_36001/776311308.py in
----> 1 posterior_samples = posterior.sample((10000,), x=torch.as_tensor([pci_base]))
2
3 # plot posterior samples
4 _ = analysis.pairplot(posterior_samples, limits=[[0.1,1]],
5                    figsize=(5,5))
~/INS_Code/sbi_env/lib/python3.7/site-packages/sbi/inference/posteriors/direct_posterior.py in sample(self, sample_shape, x, max_sampling_batch_size, sample_with, show_progress_bars)
115             num_samples=num_samples,
116             show_progress_bars=show_progress_bars,
--> 117             max_sampling_batch_size=max_sampling_batch_size,
118         )[0]
119         return samples
~/INS_Code/sbi_env/lib/python3.7/site-packages/torch/autograd/grad_mode.py in decorate_context(*args, **kwargs)
25         def decorate_context(*args, **kwargs):
26             with self.clone():
---> 27                 return func(*args, **kwargs)
28         return cast(F, decorate_context)
29
~/INS_Code/sbi_env/lib/python3.7/site-packages/sbi/samplers/rejection/rejection.py in rejection_sample_posterior_within_prior(posterior_nn, prior, x, num_samples, show_progress_bars, warn_acceptance, sample_for_correction_factor, max_sampling_batch_size, **kwargs)
254
255         # Sample and reject.
--> 256         candidates = posterior_nn.sample(sampling_batch_size, context=x).reshape(
257             sampling_batch_size, -1
258         )
TypeError: sample() missing 1 required positional argument: 'batch_size'`
And when I add the argument batch_size I get an 'unknown argument' error.
Here's my code:
`inference = sbi.inference.SNPE_A(prior=prior, density_estimator='mdn_snpe_a', num_components=10)
inference = inference.append_simulations(theta, x)
density_estimator = inference.train()
posterior = inference.build_posterior(density_estimator)
posterior_samples = posterior.sample((10000,), x=torch.as_tensor([x0]))`
Am I doing something wrong ?
Thanks a lot

Hi there, thanks for creating this issue! Unfortunately, I can not reproduce the issue on the most recent version of sbi. The following code should run on v0.19.0:
from sbi.inference import simulate_for_sbi, SNPE_A
from sbi.utils import BoxUniform
import torch

prior = BoxUniform(-2*torch.ones(2), 2*torch.ones(2))

def simulator(theta):
    perturbed_theta = theta + torch.randn(theta.shape)
    return perturbed_theta

inference = SNPE_A(prior=prior)

posteriors = []
proposal = prior

for _ in range(2):
    theta, x = simulate_for_sbi(simulator, proposal, num_simulations=500)
    posterior_estimator = inference.append_simulations(theta, x).train(force_first_round_loss=True)
    posterior = inference.build_posterior().set_default_x(torch.ones(2))
    proposal = posterior

p = inference.build_posterior()
p.sample((100,), x=torch.ones(1, 2))

Note that I added force_first_round_loss=True to .train() due to a bug I just discovered ;) In future versions, you will not need this anymore.
This is (likely) not the source of the error though. I do not know where your error comes from though. Maybe try upgrading sbi to the most recent version. Otherwise please send the error you are getting when running my code.
Michael

Closing this due to inactivity. Feel free to re-open if concrete questions come up.


trunk-action installed old version when using latest

Hey!
Reporting this here - it hasn't occurred again but reporting anyways...
I have trunk-action on a build, and yesterday it seems to have downloaded trunk 0.10 as the latest version

https://github.com/SpanishPear/mipsy_web/actions/runs/3671124808/jobs/6206113585
Which shouldn't happen as i understand it!

You can upgrade trunk action to v0.2.0 anyway. The version of trunk is determined by GitHub rest api.

ooh thanks for the heads up, will update.
Huh guess github had a freak out then - will close :D


Host application does not start

Describe the bug
The host application does not start. I believe this is a duplicate of #52 and #55 but neither currently have a solution.
To Reproduce
Try to launch the application:

If through the .app, no window appears
If through the 'Start Pass for MacOS' button in the plugin, nothing happens and the plugin continues saying 'Pass for macOS is not running'
If through the terminal, the process appears to launch (i.e. does not return and appears in top), however it produces no stdout and the plugin continues to say 'Pass for macOS is not running'

Expected behavior
The host application should start, enabling use of the plugin.
Screenshots
N/A
Desktop (please complete the following information)

macOS version: 12.5.1 (on AArch64)
Safari version: 15.6.1
Pass for macOS version: 0.11.4
How was Pass for macOS installed (Github release, built self, ...): Homebrew

Still a bug. 13.2.1 (22D68)


Think about to fix the issues found by adapter checker

I am an automatic service that looks for possible errors in ioBroker and creates an issue for it. The link below leads directly to the test:
https://adapter-check.iobroker.in/?q=https://raw.githubusercontent.com/AttackStrawbery/ioBroker.kiwigrid

[ ] [E019] Invalid repository URL: http://gitlab.lan/guru/ioBroker.kiwigrid. Expected: git+https://github.com/AttackStrawbery/ioBroker.kiwigrid.git
[ ] [E106] Title should not have word "adapter" in the name. It is clear, that this is adapter. Now: {"en":"Javascript/Node.js based kiwigrid adapter","de":"Javascript / Node.js based kiwigrid adapter"}
[ ] [E106] Title should not have word "adapter" in the name. It is clear, that this is adapter. Now: {"en":"Javascript/Node.js based kiwigrid adapter","de":"Javascript / Node.js based kiwigrid adapter"}
[ ] [E112] extIcon must be the same as an icon but with github path
[ ] [E115] No license found in io-package.json
[ ] [E145] No news found for actual version 0.0.8
[ ] [E150] No common.connectionType found in io-package.json
[ ] [E152] No common.dataSource found in io-package.json
[ ] [E125] External icon not found under URL: http://gitlab.lan/guru/ioBroker.kiwigrid/blob/master/admin/myreserve.png
[ ] [E200] Not found on npm. Please publish
[ ] [E300] Not found on travis. Please setup travis
[ ] [E801] No repository about text found. Please go to "https://github.com/AttackStrawbery/ioBroker.kiwigrid", press the settings button beside the about title and add the description.
[ ] [E802] No topics found in the repository. Please go to "https://github.com/AttackStrawbery/ioBroker.kiwigrid", press the settings button beside the about title and add some topics.
[ ] [E603] NO "## Changelog" found in README.md

I have also found warnings that may be fixed if possible.

[ ] [W113] Adapter should support compact mode
[ ] [W400] Cannot find "kiwigrid" in latest repository
[ ] [W505] setTimeout found in "main.js", but no clearTimeout detected

Thanks,
your automatic adapter checker.
P.S.: There is a community in Github, which supports the maintenance and further development of adapters. There you will find many experienced developers who are always ready to assist anyone. New developers are always welcome there. For more informations visit: https://github.com/iobroker-community-adapters/info

Thanks, that all bugs have been fixed.


A fix for chunkBy so that it can take predicate which has references to the frame of the calling function.

Moved nested structs outside of ChunkByImpl so that it can take a predicate which has references to the frame of the calling function.

Please reference or create a bugzilla issue.

Opened new one because I had some problems with git. I added tests to the new one.


Second example of chapter 13 does not work

Hej, I am trying to understand why the second example of chapter 13 (https://github.com/andrewlock/asp-dot-net-core-in-action-3e/tree/main/Chapter13/B_ATypicalRazorPage/ATypicalRazorPage) is not working for me as expected.
I would expect that after cloning this repository, changing directory to the second example of chapter 13 (cd asp-dot-net-core-in-action-3e/Chapter13/B_ATypicalRazorPage/ATypicalRazorPage/), and finally running dotnet run, that an HTTP GET request to http://localhost:5043/Simple would return an HTML page containing something like

ToDo items:

Bread
Milk
Get gas

However, the response contains an empty HTML body and the head of the HTML page is not the one set in asp-dot-net-core-in-action-3e/Chapter13/B_ATypicalRazorPage/ATypicalRazorPage/Pages/Category.cshtml.cs.
To me it seems that something with routing is going wrong since the page and its model never seem to be initialized.
Could you please point me to a possible cause? Then I can try to send a fix with a PR.
Thank you in advance for your help.

Hi @HelgeCPH!
The page you're trying to open /Simple does not exist, so you are getting a 404 result from the browser.
Inside the Razor Page you have the following directive:
@page "{category}"

which means "add the {category} segment to the page's default route template". As this is the Category.cshml page, the default route is Category, which gives a complete route of Category/{category}. In other words, if you browse to http://localhost:5043/Category/Simple your page should work 🙂
If you were building an app, and you didn't want the Category/ prefix, you could use the following in your Razor Page:
@page "/{category}"

Note the initial / which means "ignore any 'default' segments".
I hope that helps, let me know if you have any other issues!
Thanks for reading and trying it out! 😃

Hej Andrew, thank you for the super quick answer! Your solution above is correct and works. That is, I forgot to add Category to the URL before the segment that will get passed as parameter to the handler... Thank you very much for the hint and also the tip with the leading slash.


Replace CLI code with separate ctl tool

The extra bits for optionally accepting command line arguments (with --enable-cli enabled) directly from within the server were useful for a while but don't really make sense in the long run.

The cli/ sub-directory now contains the 3dfctl crate, which supersedes the built-in CLI.


Enable calculating id based on http request

Refs: #25

@tan-tan-kanarek thanks for your contribution. Could you explain the use case behind this addition?

I will share my use case, but I'm sure there are many other similar use cases.
`
var app = express();
// auth is adding session object to the req object.
app.use(auth, rTracer.expressMiddleware({
requestIdFactory: req => {
let userSid = req.session ? req.session.userSid : null;
let requestId = req.headers['x-requestid'];
let sequenceSid = req.headers['x-sequencesid'];
    if(!requestId) {
        requestId = Math.random().toString(36).substring(2, 12);
    }
    return {sequenceSid, requestId, userSid}; // I return object but it could be a calculated string as well
}

}));`
Later in my logger transformer I use the user info, the sequence (session) info and request-id.
Instead of direct headers I could take the session-id from the request cookies or some other data from the query-string.

I see. Let me review the changes.

Do you need any advice on tests? I see some changes, but they're not adding tests.

Thank you, advice on tests will be appreciated.

It could be something like the following test:
  test('calls request id factory with req', () => {
    const app = express()
    const idFactory = (req) => req

    app.use(rTracer.expressMiddleware({
      requestIdFactory: idFactory
    }))

    app.get('/test', (req, res) => {
      if (req === rTracer.id()) {
        res.end()
      } else {
        res.status(500).end()
      }
    })

    return request(app).get('/test')
      .then(res => {
        expect(res.statusCode).toBe(200)
      })
  })

One more thing to notice here is that the suggested implementation always passed request object into requestIdFactory. The default value of that option is uuidv1 and such behavior may lead to various issues with collisions between req and options expected by uuidv1. So, it's better to pass the object only when the requestIdFactory option is set by the user.

Closing this one in favor of #48

Closing this one in favor of #48


refactor: accordion

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

27 of 28 (96.43%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.06%) to 75.174%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/src/components/accordion/accordion.dart
18
19
94.74%

Totals

Change from base Build<PHONE_NUMBER>:
-0.06%

Covered Lines:
1841

Relevant Lines:
2449

💛  - Coveralls


Allow specifying RuboCop version in config

Right now, bundler specifies the RuboCop version in its Makefile. If we were to switch to CodeClimate for running RuboCop, we'd need to be able to pin to the version of RuboCop our configuration is tuned for, and we don't have a Gemfile.lock that can be used to store that version for obvious reasons

@segiddins We're working on this as a platform-wide change and expect to have something in place in the next several weeks. Thanks!

Is there any update on this? I can't seem to find any documentation about adjusting the versions of the analysis engines.

Not sure how many of those thumbs ups are from recent times, but I am interested, as well.

For some engines possible specify a version using a Channel:
https://docs.codeclimate.com/v1.0/docs/engine-channel
For example, to use RuboCop v0.48 you can set .codeclimate.yml to be:
  rubocop:
    channel: rubocop-0-48

@andyw8 that link seems to 404

This page says that the available channels are just the [current branches](https://github.com/codeclimate/codeclimate-rubocop/branches/all?utf8=✓&query=channel%2F rubocop) which is by no means a comprehensive catalog of versions.

@segiddins I've fixed the link (the last letter was missing).


add support for ESP32

using the official esp32 arduino core:
https://github.com/espressif/arduino-esp32

are there any updates on that?

@Ahmed-Talaat I'm experimenting in that branch: https://github.com/proppy/firebase-arduino/tree/esp32
Got it to compile, but still have TLS issue when making the actual request.

Is there anything in particular that we can help with @proppy ?

@danielcrowley sure feel free to try out the branch, and let me know if you also get a TLS error ;)

I try to use ESP32, but I got a error.
fatal error: third-party/ArduinoHttpClient/src/ArduinoHttpClient.h: No such file or directory

I got a error.
src/FirebaseArduino.h:22:65: fatal error: third-party/ArduinoHttpClient/src/ArduinoHttpClient.h: No such file or directory

@bestpika yes, you need to checkout https://github.com/arduino-libraries/ArduinoHttpClient in the third-party directory.

@proppy I do it, but got another error (I use example FirebaseDemo_ESP8266 and change #include <WiFi.h>).
FirebaseDemo_ESP8266:43: error: 'Firebase' was not declared in this scope

   Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);

   ^

FirebaseDemo_ESP8266:50: error: 'Firebase' was not declared in this scope

   Firebase.setFloat("number", 42.0);

   ^

'Firebase' was not declared in this scope

So I use WiFiClientSecure to direct send to <...>.firebaseio.com...

My thing is the same Is there a way to fix it?

MacAddress:37: error: 'Firebase' was not declared in this scope
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
^
C:\Users\Sivakorn\Documents\Arduino\MacAddress\MacAddress.ino: In function 'void loop()':
MacAddress:45: error: 'Firebase' was not declared in this scope
Firebase.setFloat("number", 42.0);
^
<

There is any update on this?
I've tried to install the branch proposed by @proppy with not luck. There is any way how I could help?

did anyone get the right solution? my error is: 'Firebase' was not declared in this scope

@proppy
could you help us? Please.

That should be easier to implement now that they added an HTTPClient w/ SLL in the ESP32 arduino core that is supposed to match the API for the ESP8266:
https://github.com/espressif/arduino-esp32/commits/master/libraries/HTTPClient

@proppy
Could you commit this to your branch  https://github.com/proppy/firebase-arduino/tree/esp32
We really need a Firebase access with ESP32 Arduino
Thanls

I had to add
extern FirebaseArduino Firebase;
at the end of FirebaseArduino.h
and there is a problem of
EmbeRec:92: error: no matching function for call to 'FirebaseArduino::setString(const char [14], String&)'
but it can be solved
but for

C:\Users\baghli\Documents\Arduino\hardware\espressif\esp32\libraries\firebase-arduino-esp32\src\FirebaseArduino.cpp:36:66: error: no matching function for call to 'HttpClient::HttpClient()'
FirebaseArduino::FirebaseArduino(Client& client) : client_(client) {}
In file included from C:\Users\baghli\Documents\Arduino\hardware\espressif\esp32\libraries\firebase-arduino-esp32\src\third-party/ArduinoHttpClient/src/ArduinoHttpClient.h:8:0,
            from C:\Users\baghli\Documents\Arduino\hardware\espressif\esp32\libraries\firebase-arduino-esp32\src\FirebaseArduino.h:22,

            from C:\Users\baghli\Documents\Arduino\hardware\espressif\esp32\libraries\firebase-arduino-esp32\src\FirebaseArduino.cpp:17:

C:\Users\xxx\Documents\Arduino\hardware\espressif\esp32\libraries\firebase-arduino-esp32\src\third-party/ArduinoHttpClient/src/HttpClient.h:53:5: note: candidate: HttpClient::HttpClient(Client&, const IPAddress&, uint16_t)
HttpClient(Client& aClient, const IPAddress& aServerAddress, uint16_t aServerPort = kHttpPort);

I don't know how to deal with it

@blotfi I think my branch was using a patched version of ArduinoHttpClient:
diff --git a/src/HttpClient.cpp b/src/HttpClient.cpp
index b46f628..4fb7694 100644
--- a/src/HttpClient.cpp
+++ b/src/HttpClient.cpp
@@ -28,6 +28,17 @@ HttpClient::HttpClient(Client& aClient, const IPAddress& aServerAddress, uint16_
   resetState();
 }

+void HttpClient::begin(Client& aClient, const char* aServerName, uint16_t aServerPort)
+{
+  iClient = &aClient;
+  iServerName = aServerName;
+  iServerAddress = IPAddress();
+  iServerPort = aServerPort;
+  iConnectionClose = true;
+  iSendDefaultRequestHeaders = true;
+  resetState();
+}
+
 void HttpClient::resetState()
 {
   iState = eIdle;
diff --git a/src/HttpClient.h b/src/HttpClient.h
index e627b21..6cf21b6 100644
--- a/src/HttpClient.h
+++ b/src/HttpClient.h
@@ -46,10 +46,12 @@ public:
 // FIXME Write longer API request, using port and user-agent, example
 // FIXME Update tempToPachube example to calculate Content-Length correctly

+    HttpClient() {};
     HttpClient(Client& aClient, const char* aServerName, uint16_t aServerPort = kHttpPort);
     HttpClient(Client& aClient, const String& aServerName, uint16_t aServerPort = kHttpPort);
     HttpClient(Client& aClient, const IPAddress& aServerAddress, uint16_t aServerPort = kHttpPort);

+    void begin(Client& aClient, const char* aServerName, uint16_t aServerPort = kHttpPort);
     /** Start a more complex request.
         Use this when you need to send additional headers in the request,
         but you will also need to call endRequest() when you are finished.

@proppy where canI get it so ?

@blotfi you need to make the same modification that I linked, but even after than there is still an SSL error we need to solve.

@proppy Do you have time to solve the issues? I am in Electrical Engineering / Teacher, so not a really good programmer ;-)
I can test of course to help you

@proppy Hi, do you plan to start again the  https://github.com/proppy/firebase-arduino/tree/esp32
Thanks

@proppy Hi, is there any new dev for ESP32 ?
thanks

Same question, any future support for ESP32? Thanks for all development, I would also be willing to help!

One good way to support the ESP32 would be to standardize on the ArduinoHttpClient or the arduino Client interface https://www.arduino.cc/en/Reference/ClientConstructor interface, instead using of using the HttpClient in the esp8266 core.
Tracking this here: #344.

@Curclamas I'd welcome some more testing on https://github.com/FirebaseExtended/firebase-arduino/pull/353 if you want to give it a try.

Ola a todos!
Utilisei o seguinte procedimento para logar ao firebase (ESP32 + FIREBASE):
Segue um exemplo de contador:

#include <WiFi.h>
#include <WiFiClientSecure.h>
const char* ssid = "xxxxxxxx"; // Sua rede WIFI
const char* password = "xxxxxxxx"; //Senha do wifi
const char* host = "xxxxxxxxxx.firebaseio.com"; //Login firebase
const char* firebase_auth = "xxxxxxxxx"; //Password firebase
String user_path = "usuario";// Usuario cadastrado no firebase database
int count = 0;
WiFiClientSecure client;
//**********************
void setup() {
Serial.begin(115200);
WiFi.begin( ssid, password );
Serial.print( "connecting" );
while ( WiFi.status() != WL_CONNECTED ) {
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print( "connected: " );
Serial.println( WiFi.localIP() );
delay(2000);
}
//**********************
void loop() {
sendPatchRequest( "text", String( count ) );
count++;
if( count > 10 ) count = 0;
}
//******Firebase Realtime Database **************
void sendPatchRequest( String str1, String str2 ){
if( !client.connect( host, 443 ) ){
Serial.println( "Connection failed!" );
}else{
Serial.println( "Connected to server!"  Thanks  lucianoracing!

Excellent solution for PATCH lucianoracing, thank you!
Maybe you can also give the same for GET request, I could not make it work?

can you please translate instructions into english?


doc: lift snapshot creation/deletion and new volume creation support to Beta

Since kubernetes 1.17 snapshot functionality is at Beta state
and external snapshotter 3.0.3. Since v4.0.0 of snapshotter controller
and kubernetes v1.20, the snapshot functionality has been lifted to GA.
Ceph CSI drivers have been supporting this feature for last few releases
and users are heavily using this feature since then.
We also have good amount of e2e test case which cover snapshot creation
and deletion and other operations on the same. With that, this PR
proposes of lifting this feature support to Beta with v3.4.0 version.
This PR also lift clone functionality to Beta stage
Updates# https://github.com/ceph/ceph-csi/issues/2199
Signed-off-by: Humble Chirammal<EMAIL_ADDRESS>

Cloning and restoring from snapshot with thick-provisioning enabled need a newer Ceph version. Older versions did not copy zero-filled contents, but made the volumes thin-provisioned. Is that something that should be noted somewhere?

Cloning and restoring from snapshot with thick-provisioning enabled need a newer Ceph version. Older versions did not copy zero-filled contents, but made the volumes thin-provisioned. Is that something that should be noted somewhere?

@nixpanic good point.. I think we can keep a seperate entry for thick provisioning cloning and restoring in the matrix and mark existing ones as thin provisioned . wdyt?

Cloning and restoring from snapshot with thick-provisioning enabled need a newer Ceph version. Older versions did not copy zero-filled contents, but made the volumes thin-provisioned. Is that something that should be noted somewhere?

@nixpanic good point.. I think we can keep a seperate entry for thick provisioning cloning and restoring in the matrix and mark existing ones as thin provisioned . wdyt?

or keep a diclaimer under the fields we have in the matrix and add a note below the matrix about this, that can also be done.

@nixpanic as discussed , we will add a seperate section for non CSI spec specific features in a seperate matrix. With that in mind, this is good to go, ptal . Thanks :+1:


Indicate what project Kepler is installed in

When creating the kepler custom resource, the Web console does not indicate that this is installed in the openshift-kepler-operator project.  This should be mentioned as the only way to know this is to find it in the doc.

@stleerh Closing this in favour of https://github.com/sustainable-computing-io/kepler-operator/issues/120
which will be addressed post Dev-Preview.
I am ambivalent about this feature since where operator installs resources should be treated as implementation detail.


Streaming capability

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


Creating Array with closure and shape

It would nice if there was a way to create new Array with closure: I am currently creating Array with zeros and then going through it setting values.
I imagining function like this:
fn from_fn<F, Sh>(Sh, F) -> ArrayBase<S, D>
  where Sh: Into<Shape<D>>,
        F: Fn(D) -> A

Sounds good to me

Do you need access to the indices?

Yeah I do.

This has been added in master

In version 0.6.6.


T-SNE in browser example throws error

The example at this URL: https://storage.googleapis.com/tfjs-examples/tsne-mnist-canvas/dist/index.html . Throws an error when you I hit Start TSNE.
Varyings over maximum register limit� tfjs-tsne-mnist.js:25403
Uncaught (in promise) Error: Failed to link vertex and fragment shaders. tfjs-tsne-mnist.js:25403
at Object.linkProgram (tfjs-tsne-mnist.js:25403)
at Object.createVertexProgram (tfjs-tsne-mnist.js:28154)
at Object.createBruteForceKNNProgram (tfjs-tsne-mnist.js:28422)
at KNNEstimator.initilizeCustomWebGLPrograms (tfjs-tsne-mnist.js:28633)
at new KNNEstimator (tfjs-tsne-mnist.js:28586)
at TSNE. (tfjs-tsne-mnist.js:29959)
at step (tfjs-tsne-mnist.js:29884)
at Object.next (tfjs-tsne-mnist.js:29851)
at fulfilled (tfjs-tsne-mnist.js:29818)
System Info:
Chrome v67.0.3396.99 Official Build 64-bit
MacBook Pro 13" 2016 High Sierra 10.13.5
Intel Iris Graphics 550 1.5GB
The example is linked to from this page to this

Sending a fix in https://github.com/tensorflow/tfjs-examples/pull/116. The example still gives strange results, so I'm going to assign this to @tafsiri to take a look when he's back from vacation.

The hosted example should be updated now.

Confirmed that it now works. Thanks!

Not sure why, but this error bubbled up again. For example https://beta.observablehq.com/@mbostock/lets-try-t-sne and https://beta.observablehq.com/@fil/hello-tfjs-tsne are now throwing:
Error: Failed to link vertex and fragment shaders.

I am sure that it was working by end of last year. Tested on Chrome Version 71.0.3578.98

I had the same issue and it looks like it's not compatible with tfjs versions after 0.13.0.

The error is now gone.
But instead we are getting a TypeError: n is not a function when running ts.iterateKnn(3) which originates from the initialize function
Still looking at the https://observablehq.com/@fil/hello-tfjs-tsne


Feat:Add hover effect to the Read More button in the blogs

Describe the feature
On hovering the button read more in the blogs, We could add some interactive Hover efcets to the button to make it look more attractive.
Options include->An overlay transition to a new colour from left to right
second-> We could A new gradient colour gets applied on hovering.
Please refer to the video below to better understand the styling I wish to apply
Add ScreenShots
https://www.awesomescreenshot.com/video/18874983?key=9cdc176569a1caccf6799f974b446762
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'23 contributor
[X] I want to work on this issue

I would like to work on this issue under gssoc'23


[ConstraintSystem] Reject property wrapper transform on func paramete…

…rs in pattern context
The transform is not currently supported on anything but regular calls.
There is no crash without ResultBuilderASTTransform enabled because pattern ends
up anchored on synthesized OneWayExpr.

@swift-ci please test

@swift-ci please test macOS platform


[Addition]:

Hotspot b58 Addresses
11pQ9gupWY1yvWB7mU7DNCwHVxEhUNXYb8no2ynUdfps5zyLNmG
Discord Handle
No response
Reason(s)
The hotspot is offline for a long time.

A hotspot being offline is not a reason to add it to the denylist. That won’t affect the transmit scale of nearby hotspots anyway, since offline hotspots are considered non-interactive. See HIP 17.

oh I am so happy with Ryan's comment.
Well my hotspot Original Cobalt Bull was offline for days when they added it to the denylist!!
Please no discrimination. Add this hotspot to denylist and all the hotspots that show offline because of Helium so called updates!


[Correction] 1.18.2 Performance, Incorrect link for DimensionalThreading-Reforged

Checklist

[X] I've checked that this correction is valid and accurate.
[X] I've checked that this correction has not already been suggested.

What mod is this correction for?
DimensionalThreading-Reforged
What section(s) of the list is this correction for?
Performance
What version(s) does this correction apply to?
1.18.X (Forge)
What needs correcting?
There is a link that sends to the curseforge page of Dynamic View, It needs to be removed
Input relevant link(s) which can be used to verify the correction.
https://github.com/CCr4ft3r/DimensionalThreading-Reforged
https://github.com/TheUsefulLists/UsefulMods/blob/main/Performance/Performance118.md#forge-118x

(The mod is only available on GitHub)
(OPTIONAL) Any extra information about the correction.
No response

fixed in 5aa89d3 and duplicate of #249


proposal: testing: Add Count function to return the test.count value

Proposal Details
In golang 1.21.0 a new Testing function was added to the "testing" package. I propose a similar and new Count function which along the same lines, returns the test.count value for the test. Implementation is similar to Short shown here:
// Short reports whether the -test.short flag is set.
func Short() bool {
	if short == nil {
		panic("testing: Short called before Init")
	}
	// Catch code that calls this from TestMain without first calling flag.Parse.
	if !flag.Parsed() {
		panic("testing: Short called before Parse")
	}

	return *short
}

This would be very useful to allow a test to perform some more expensive global setup only once if it's going to be run multiple times, for example. Or to know how much longer we expect a test to last. (Eg: time*count)
Thanks!

single setup should generally be done by other primitives, like sync.Once.
Having test behaviour change based on the number of times it runs seems like bad practice and defeats the point of running it multiple times.

defeats the point of running it multiple times.

One clear example is a test that depends on global state and can only run once. So for example, the first time it runs, it would proceed as expected, but if testing.Count() was > 1, it would simply return early.

that doesn't really support have a Count() function?
It doesn't help if you didn't know about it, and if you did, it would be better to either write your tests to not depend on global state or write them to setup global state correctly before execution

Another good reason: If you're testing a large project that has init() being used, then these run just once (as expected) when the go test process starts up. But if you use -count 2, they don't re-run. So if you're expecting that you're testing the whole stack, then it doesn't actually happen. A Count() function would allow someone to write a test that fails or prints a warning or something different can be done when Count() > 1.

That doesn't sound like a good reason to have Count, instead it sounds like one to not use init() (or use init only for stuff that really only does need to be initialized once, no matter how tests are run)

On Fri, Dec 29, 2023 at 2:19 PM Sean Liao @.***> wrote:

That doesn't sound like a good reason to have Count, instead it sounds like one to not use init() (or use init only for stuff that really only does need to be initialized once, no matter how tests are run)

It turns out there are situations when you want to test things that
happen in init() more than once!

I still don't see how Count helps, if you're aware of the issue, you can implement workarounds (reexec), if you're not aware, then Count doesn't help you atl all

This would be useful for https://github.com/gkampitakis/go-snaps in order to support having multiple snapshots in a single test while still comparing within the same count run.
In order to provide support for multiple snapshots, it uses async.Once based registry for tracking the number of calls to MatchSnapshot within each test, and because -count is not currently expressed anywhere (e.g. t.Name is the test name, not "name + count") it ends up counting the same calls as new calls within the same test rather than as repeated calls, and so generates new snapshots rather than comparing to the existing ones.
Exposing the -count value in some way (such as with test.Count) would enable go-snaps to reset its global registry over each iteration; from what I understand currently there is no way to do this because e.g. TestMain is only called once (since the actual test count handling is done within m.Run).

I don't understand how this helps. Instead of checking whether testing.Count() > 1 you can just count the number of times the code has been run. Also if -count=2 then testing.Count()==2 both times, so you can't distinguish the first.

you can just count the number of times the code has been run

This is a good workaround, and if I count and have testing.Count(), I can know this is iteration N of M.
I would also have just expected the value would be there by symmetry arguments since testing.Short() is, so I don't have to run flag parsing myself.
I also realize it's a niche request.
Thanks for looking!

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

Based on the discussion above, this proposal seems like a likely decline.
— rsc for the proposal review group

No change in consensus, so declined.
— rsc for the proposal review group


Adventures of Mana [PCSE00905]

Game summary

Game name: Adventures of Mana
Game serial: PCSE00905
Game version: 1.00

Vita3K summary

Version: v0.1
Build number: 1063
Commit hash: https://github.com/vita3k/vita3k/commit/deff8367

Test environment summary

Tested by: Zangetsu38
OS: Windows 10
CPU: AMD Ryzen 2700X
GPU: NVIDIA GTX 1080 Ti
RAM: 16 GB DDR4 3600 mhz

Issues

Crash on generate Shader

Log
vita3k.log

Playable

Playable

no  playable, it crash randomly

no  playable, it crash randomly

RE-TESTED with:
Vita3K summary

Version: v0.1.6
Build number: 3130
Commit hash: https://github.com/vita3k/vita3k/commit/[ca4e2bb5]
CPU backend: Dynarmic
GPU backend: Vulkan

Test environment summary

Tested by: JackMonty
OS: Windows 10
CPU: AMD Ryzen 5 Pro 3500U
GPU: Nvidia Geforce GT1030
RAM: 16 GB

Issues
Game runs fine with good speed and audio. Menus are fixed but random crashes remain.... Seems to happen a lot in villages...
Screenshots
Menus Fixed

Crash

Log
vita3k.log

Re-tested with:
Vita3K summary
Version: v0.1.8
Build number: 3217
CPU backend: Dynarmic
GPU backend: Vulkan
Internal resolution upscaling: 4x
Anisotropic filtering: 16x
Test environment summary
Tested by: darmokan
OS: Windows 10 Pro 22H2
CPU: AMD Ryzen 7 5800X @ 4.85GHz
GPU: Nvidia Geforce RTX 3080 10GB
RAM: 32 GB (4x8GB) DDR4 3600
Monitor: 3840x2160@144Hz with G-SYNC Compatible enabled
Issues
Game runs great.  No crashes so far.  Some slowdown when transitioning between screens; mitigated by reducing internal resolution upscaling.

Hi @darmokan,
Did you continue laying this game for a while and still no crashes? If you can let me know I will load it back up and re-test it with the new version as this is a game I really want tot play !

Hi @darmokan,
Did you continue laying this game for a while and still no crashes? If you can let me know I will load it back up and re-test it with the new version as this is a game I really want tot play !

I've crashed to desktop three times on trying to enter the Eastern Cave toward the beginning of the game, but no other crashes before or since then.  That was 3 out of 5 attempts to enter the cave, two of which were using Internal Resolution Upscaling at 2x instead of 4x.
I beat the game on my Vita when I bought it right when it came out in 2016, and I'm keen on finishing it in Vita3K.  I'll continue to post my experience here.


When vite builds Vue, it does not have router, vuex, sass and eslint optional configurations like Vue-cli

When configuring vite to build a project, the configuration is still too cumbersome. There are too many things to be configured to find documents everywhere

@weijiatan456 Vite is not a direct replacement for vue-cli. The starters templates are simple SPAs so you are able to try Vite. You can check out more complete templates at https://github.com/vitejs/awesome-vite#templates, and use degit to copy them to your local machine.
Note: There are plans to create a tool with the same scope of vue-cli but with Vite underneath for the Vue Ecosystem, but this is out of the scope of the Vite project itself.


bug: apply_directive node with rem unit

Did you check existing issues?

[X] I have read all the tree-sitter docs if it relates to using the parser
[X] I have searched the existing issues of tree-sitter-css

Tree-Sitter CLI Version, if relevant (output of tree-sitter --version)
tree-sitter 0.20.8 (0c49d6745b3fc4822ab02e0018770cd6383a779c)
Describe the bug
Apply directive with rem unit
.hl-title {
  @apply text-[2.5rem];
}

AST:
(rule_set) ; [1:1 - 3:1]
 (selectors) ; [1:1 - 9]
  (class_selector) ; [1:1 - 9]
   (class_name) ; [1:2 - 9]
 (block) ; [1:11 - 3:1]
  (apply_directive) ; [2:3 - 23]
   (class_name) ; [2:10 - 22]
    (identifier) ; [2:10 - 14]
    (ERROR) ; [2:16 - 17]
    (integer_value) ; [2:18 - 21]
     (unit) ; [2:19 - 21]

Steps To Reproduce/Bad Parse Tree

Create CSS file
Add code above
Run parser

Expected Behavior/Parse Tree
rem unit should be parsed
Repro
.hl-title {
  @apply text-[2.5rem];
}

This appears to be fixed on latest master.


[Bug] TxEnvelop missing getter tx_hash

Component
consensus, eips, genesis
Describe the feature you would like
Need a getterfor the hash prop of the underlying Signed
Additional context
No response

PR: https://github.com/alloy-rs/alloy/pull/574


Fix disqus google analytics integration

Hey @mauro-oto,
This PR fixes the disqus and GA integration.
Please check it out.
Thanks!

@mauro-oto Done! I don't know why I hadn't regenerated the authors index page.

@etagwerker there's something odd about this, as now the non-author pages have lost the GA id. All of them seem to use the same default.html layout, so I'm not sure what's wrong.

@mauro-oto Weird. I'll look into it.

@mauro-oto Now it seems to be alright. I regenerated it one more time.


ACR User Dialogs 6.5.1 can't install on Xamarin Forms PCL Profile 78 - Unable to install Splat

Version of ACR UserDialogs Library
6.5.1
Expected Behaviour
should install properly with dependencies.
Regressed to 6.1.2 used previously and it works fine, the break is likely to have occurred in 6.5.0

It isn’t a break.  As documented, this library is .net standard based (using profile 1.1 which I believe adheres to pcl 111)


bug: mkdocstrings filters option doesn't work anymore after upgrade to griffe 0.46.0

Description of the bug

I don't know it's a griffe bug or the mkdocstrings's bug. After upgrade to griffe 0.46.0, the filters option doesn't work anymore. We have the filters option set to a empty list. After upgrade to griffe 0.46.0, the protected methods are no longer collected. Revert back to 0.45.3 fixed the issue.
To Reproduce

With the following setting:
plugins:
  - mkdocstrings:
      handlers:
        python:
          options:
            docstring_style: sphinx
            show_source: false
            filters: []

Protected methods are no longer collected.
Expected behavior

Projected methods can be collected.
Environment information

griffe --debug-info  # | xclip -selection clipboard

- __System__: Linux-4.19.0-10-amd64-x86_64-with-glibc2.31
- __Python__: cpython 3.11.3 (/tmp/.venv/bin/python3)
- __Environment variables__:
- __Installed packages__:
  - `griffe` v0.46.0

Additional context

Thanks for the fast report. Looking into it right now.

OK, found the issue.
In the Python handler templates, we first filter objects according to the members, inherited_members, filters and show_if_no_docstring options. Then, we do a second filtering pass, checking if each object is either explicitly passed in members, or is public.
The issue is that previously, we would tweak the is_public check so as to ignore the object's name, but now it always checks the name, so objects whose name starts with _ are not considered public and are therefore filtered out. That means dunder attributes and methods are filtered out.
I think the easiest and most correct way to fix this is to update Griffe's "public" logic to consider dunder attributes and methods to be public, because even if we don't access them directly, we still use them publicly through different syntax or means.
I'll do just that!

OK, v0.46.1 is on PyPI, let me know if you still encounter issues!

WORKSFORME :heart:

does not work for me, 0.46.1 only fixed #295
protected methods as noted in this issue are still missing

Ah, right, I read it as "special" instead of protected, my bad. Essentially I think the Python handler should stop doing this second filtering pass. But that would be a breaking change, so I'll change it to simply filter out imported objects, not private/protected ones.

@vulli321 could you try latest mkdocstrings-python (and latest griffe) and tell me if this issue is fixed?

Upgrade to mkdocstrings-python (1.10.4) fixed our issue. Thanks!

can confim, fixed now 👍

Whoops, it seems like this issue doesn't want to go away. The new release broke my use case again :grimacing:

@pawamoy Not sure what the problem is now, but with griffe 0.47 I'm getting these errors:
WARNING -  mkdocs_autorefs: reference/frequenz/sdk/actor/index.md: Could not find cross-reference target '[frequenz.sdk.actor.Actor]'
WARNING -  mkdocs_autorefs: reference/frequenz/sdk/actor/index.md: Could not find cross-reference target '[frequenz.sdk.actor.Actor]'
WARNING -  mkdocs_autorefs: reference/frequenz/sdk/actor/index.md: Could not find cross-reference target '[frequenz.sdk.actor.Actor]'
WARNING -  mkdocs_autorefs: reference/frequenz/sdk/actor/index.md: Could not find cross-reference target '[frequenz.sdk.actor.run]'
WARNING -  mkdocs_autorefs: reference/frequenz/sdk/actor/index.md: Could not find cross-reference target '[frequenz.sdk.actor.run]'

While 0.45.3 and 0.46.1 work fine. Instructions to reproduce are the same as in https://github.com/mkdocstrings/griffe/issues/295.

Sorry for the trouble, let me look into it :+1:

@llucax what version of mkdocstrings-python do you have?

OK, released v1.8.5, it should behave correctly now.

Yup, it is working again now. Thanks a lot for the super fast responses and fixes! :tada:

Thanks for testing new releases super early and sending bug reports :smile:


Allow setting cache key for outgoing requests

Provide an equivalent of set_cache_key_str from the rust sdk.
Example usecase:
I wish to cache a request based in the city a user is in. e.g.
fetch("https://api.com", {
    cacheKey: `${event.request.url}/${event.request.geo.city}`
})

This is already possible with a CacheOverride:
const cacheOverride = new CacheOverride('override', {
  ttl: 365 * 24 * 3600,
  swr: 365 * 24 * 3600,
  surrogateKey: 'some_cache_key'
})

fetch("https://api.com", {
  cacheOverride: originCache
})

This is implemented in https://github.com/fastly/js-compute-runtime/pull/281 and will be out in the next release 👍


Restore functions removed after v0.27.0 to avoid breaking changes in v0.28.0

⚠⚠⚠ DO NOT MERGE! ⚠⚠⚠

This partially reverts commit 3366df607287bf5cf3b9f870ad5b463198f334e5.
This commit temporarily restores the functions removed
after the initial v0.27 release so as to avoid causing
breaking changes in the next minor release v0.28.0
This commit also temporarily restore a dependency to jsverify
needed for the tests that have also been restored as a
result of reverting the commit.

Warning
The destination branch should probably be set to v0.28 and not master.
Summary

Source and tests files are exactly as they were in commit 3366df607287bf5cf3b9f870ad5b463198f334e5. The only difference is that I had to add the .js extension in the import statements as otherwise the linter fails.
I didn't want to rewrite the tests so I had to restore the dependency to jsverify
Some tests were refactored to not use any of the deprecated functions. These tests have not been reverted!
The index.js file looks a bit messy but I've only restored the deleted functions and sorted the lines alphabetically.

We have not worried too much about breaking changes in the pre-1.0 (I know, I know!) releases.  After 0.28, I think we should be ready to go to 1.0, and talk about the future of Ramda from there.  But at that point, we should pay strict attention to semver rules.


{db}/_changes?filter=_selector lags towards almost the end of the response

While benchmarking the performance of mango selectors I stumbled upon an interesting behaviour: towards almost the end of the response, where there's 3 - 5 - 10 more changes expected to be received the response pauses from 0.5 sec to more, depending on the doc_count in the db, then finishes as normal.
Expected Behavior
No pause/lag in the _changes feed response
Current Behavior
Consistent one-time pause/lag towards the end of the response. The bigger the db – the bigger the pause.

Possible Solution
Cannot suggest much at the moment, still looking into the code.
Steps to Reproduce (for bugs)

run the latest version from the official Docker container docker run -p 5984:5984 -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password --name couchdb apache/couchdb
configure as a single node
generate a db using the following script https://gist.github.com/evsukov89/0101dd1fcea728ae6c5807eef70a7820
query the _changes feed curl -s -u admin:password -H "Content-Type: application/json" -X POST 'http://<IP_ADDRESS>:5984/db-1000/_changes?filter=_selector' --data '{"selector":{"owner":"global"}}'
observe the lag towards the end of the response, see example video https://www.dropbox.com/s/jc99cnyytznbmt6/couchdb2_filter_selector_lag.mov?dl=0

Change the NUMGLOBAL variable in the script to create more/less documents and experiment with different database sizes.
Context

I'm investigating mango selectors for replication as an alternative to view _change which appears not to be functional in 2.x (see #831). In my use-case, I operate over a multi-tenant environment (think one couch database – one application instance/project/customer/etc.), a subset of documents, typically around 10% is being replicated by mobile clients. Having a performant way to get a filtered _changes feed is a must.
While it's not really a bug nor a blocker in my case, the delay present 100% during my tests and is proportional to the number of docs in the db; I would simply like to understand the root cause and potential performance implications when having 100s of DBs on the same cluster with 10s of thousands of mobile clients replicating over with typical db size of 50-80k docs.
Your Environment

Version used:

Docker version 17.12.0-ce, build c97c6d6

{"couchdb":"Welcome","version":"2.1.1","features":["scheduler"],"vendor":{"name":"The Apache Software Foundation"}}

Browser Name and version:

curl 7.54.0 (x86_64-apple-darwin17.0) libcurl/7.54.0 LibreSSL/2.0.20 zlib/1.2.11 nghttp2/1.24.0
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz HTTP2 UnixSockets HTTPS-proxy

Operating System and version (desktop or mobile):

ProductName:	Mac OS X
ProductVersion:	10.13.3
BuildVersion:	17D47

Link to your project: n/a

Cleaning some old issues, I was trying to validate if this performance problem still occurs.
It seems the reproducer gist script is now deleted. @igorski89 by chance would you still have it around somewhere?

Close as there was no response and the reproducer gist is missing.


support for MACS2 or other peak calling

@heuermh would you be ok with putting some peak calling functionality in here? @gunjanbaid
and I are about implementing MACS2 for peak calling

+1, the more the merrier.  If it gets too nuts, we might want to break up the list of tools into category command groups in Cannoli.scala, alignment, variant calling, etc.

Closing as WontFix


Delete Deployment's Dockerimage When Lease Closes

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I spent several hours testing an image just to find out that the problem was not me but that the system was storing the dockerimage and not updating it for subsequent deployments.  Storing an image is typical behavior for Docker but for Akash this behavior is not good because in the case of testing, the only way you can see your changes is to change the deployment image name and edit your deployment.yml files.  Also, this behavior leaves a copy of a tennant's deployment image with a Provider they no longer have a lease with.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Deployment (docker image) images will be delete when the lease is closed
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
See above work around for testing.  For my second point there is no work around from a user standpoint.
Additional context
Add any other context or screenshots about the feature request here.

To ensure you're using the right image, you can:

Use unique tags - a version, for instance.  This is the recommended method.
Use a digest.

We won't be removing docker images; this would be an unreliable way to solve the problem.   We may add the ability to pull new images, but in a multi-tenant environment this may have unwanted consequences.


feat: expose url field on issue api.

fix https://github.com/go-gitea/gitea/issues/402

This would be better include in 1.1.0 release.

Let's decided it before release

@lunny OK

trusted LGTM

@rymai @bkcsoft could you confirm this?

build failed.

LGTM when the build succeeds :)

models/issue.go:205: undefined: path in path.Join
models/issue.go:205: issue.Repo.APIURL undefined (type *Repository has no field or method APIURL)
models/repo.go:268: undefined: Repo
models/repo.go:269: undefined: settings in settings.AppURL
make: *** [Makefile:71: test] Error 1

Need to import "path"

I will fix errors. Please wait.

@tboerger @bkcsoft Done. Please review again.

Add unit testing.

LGTM

conflicted.

@lunny fix conflicts and wait for build status.

LGTM

@appleboy maybe you should rebase and push --force.

@lunny I always use git pull --rebase origin master on target branch.

@lunny @bkcsoft remove trim from API URL.

need @ethantkoenig confirmation.

Thanks @appleboy! ❤


⚠ Bofrost.at has degraded performance

In 7b2e5ee, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2039 ms

Resolved: Bofrost.at performance has improved in 82cc339.


SPARK-5148 [MLlib] Make usersOut/productsOut storagelevel in ALS configurable

Can one of the admins verify this patch?

add to whitelist

ok to test

Test build #25242 has started for   PR 3953 at commit 6869e80.

This patch merges cleanly.

Test build #25250 has started for   PR 3953 at commit 0f070b9.

This patch merges cleanly.

Test build #25242 has finished for   PR 3953 at commit 6869e80.

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

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/25242/
Test PASSed.

LGTM pending Jenkins.

Test build #25250 has finished for   PR 3953 at commit 0f070b9.

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

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/25250/
Test PASSed.

Merged into master. Thanks!


FigureResampler removes annotations

Don't know if this is an enhancement or a bug. But it seems that calling FigureResampler removes the text labels from the plot. At least if the number of points exceeds default_n_shown_samples. Here is a simple example illustrating the issue in a dash application.
To see the labels you can uncomment the fig without the FigureResampler function.
I guess the wanted behavior if lttb removes the point with the label is to not show that label. That is also probably the easiest to implement.
import numpy as np
import plotly.graph_objects as go
import trace_updater
from dash import Dash, dcc, html
from plotly_resampler import FigureResampler

app = Dash(__name__)

# Create labels for the plot, but only on every 500th point
labels = [""] * 1_000_0
labels[500::501] = ["label" for x in labels[500::501]]

# Create the x and y values for the plot
x = np.arange(1_000_0)
noisy_sin = (3 + np.sin(x / 200) + np.random.randn(len(x)) / 10) * x / 1_000

fig = FigureResampler(go.Figure())
fig.add_trace(
    go.Scatter(
        x=x,
        y=noisy_sin,
        mode="lines+text",
        text=labels,
        textposition="top center",
    ),
)
fig.register_update_graph_callback(
    app=app, graph_id="graph-id", trace_updater_id="trace-updater"
)

# fig = go.Figure()
# fig.add_trace(
#     go.Scatter(
#         x=x,
#         y=noisy_sin,
#         mode="lines+text",
#         text=labels,
#         textposition="top center",
#     )
# )

app.layout = html.Div(
    [
        dcc.Graph(id="graph-id", figure=fig, mathjax=True),
        trace_updater.TraceUpdater(
            id="trace-updater",
            gdID="graph-id",
            sequentialUpdate=False,
        ),
    ],
)

if __name__ == "__main__":
    app.run_server(debug=True)

Should be fixed in plotly-resampler 0.6.4! 🔥

Great. Fast to fix as always!


Adds parameters dealing with auto-updating error rate and kmer model, and for gene filtering based on coverage

This PR:

Adds a parameter to deal with auto-updating error rate and kmer model. Before this PR, after processing sample n, the error rate and the model for kmer coverages would be automatically updated, based on the mapping of the reads from sample n to the PanRG. These updated values would then be used to map sample n+1. If sample n had some issues that caused its error rate to be unusual or its mapping to be unusually low, this could impact negatively sample n+1 mapping. In general, auto-updating the error rate and kmer model would likely produce better results if the input data is well cleaned and has no serious issue. Unfortunately, this might not always be the case, and most users don't check well the input data. This is now an optional parameter, which defaults to not do this auto update:

  --auto-update-params        Automatically update error rate and kmer coverage model parameters based on the
mapping of the previous sample. It could potentially generate more accurate results in some very specific cases,
first run should always have this flag off

Adds 3 parameters to control when a gene should be filtered out due to too low or too high coverage. This removes hard-coded values that were previously in pandora. This is basically done by looking at the mean coverage of the gene and comparing with the values given for these 3 params:

  --min-abs-gene-coverage FLOAT
                              Minimum absolute mean gene coverage to keep a gene. Given the coverage on the kmers of the maximum
likelihood path of a gene, we compute the mean gene coverage and compare with the value in this parameter. If the mean is
lower than this parameter, the gene is filtered out, e.g. if this parameter value is 3, then all genes with mean <3 will be filtered
out.
  --min-rel-gene-coverage FLOAT
                              Minimum relative mean gene coverage to keep a gene. This is a proportion, between 0.0 and 1.0. Given the
coverage on the kmers of the maximum likelihood path of a gene, we compute the mean gene coverage and compare with the
value in this parameter and the global coverage. If the mean is lower than the computed value, the gene is filtered out, e.g. if
this parameter value is 0.05, then all genes with mean < 5% of the global coverage will be filtered out.
  --max-rel-gene-coverage FLOAT
                              Maximum relative mean gene coverage to keep a gene. Given the coverage on the kmers of the maximum
likelihood path of a gene, we compute the mean gene coverage and compare with the value in this parameter and the global
coverage. If the mean is higher than the computed value, the gene is filtered out, e.g. if this parameter value is 10, then all
genes with mean >10 times the global coverage will be filtered out.

I think we probaby need to increase this default value
float max_relative_gene_coverage { 10 };

to 100 or something, as they might be on plasmids.

I see this flag has also been added to map. I don't understand how one would auto-update the error rate for sample $n+1$ for map? Sorry if I am missing something obvious.
Also, my two cents: I feel it might be better to make auto-update the default - i.e. keep the current behaviour - and allow a user to turn it off, thus acknowledging their data isn't clean.

I think we probaby need to increase this default value
float max_relative_gene_coverage { 10 };

to 100 or something, as they might be on plasmids.

Done in https://github.com/rmcolq/pandora/pull/335/commits/08354f57ebb55fad34490d8905bb12ddd040d5b0

I see this flag has also been added to map. I don't understand how one would auto-update the error rate for sample n+1 for map? Sorry if I am missing something obvious.

Indeed it is not useful to update the error rate in map for now. In the near future we are planning to make map be able to map several samples instead of one, so it could be useful in this case. However, the kmer coverage model could be updated and is later used when getting the ML path in map: https://github.com/leoisl/pandora/blob/08354f57ebb55fad34490d8905bb12ddd040d5b0/src/map_main.cpp#L365-L368
Actually I just realised in discover we receive several samples, but we don't update the error model nor the kmer coverage model at all (i.e. we don't have a call to estimate_parameters()). Do you think this is some sort of bug? Should we add this to discover?

Actually I just realised in discover we receive several samples, but we don't update the error model nor the kmer coverage model at all (i.e. we don't have a call to estimate_parameters()). Do you think this is some sort of bug? Should we add this to discover?

Hmmm I don't know. discover has changed a lot since I was last working on it. I think last I was working on it (before the racon change) it wasn't able to take more than one sample so this wouldn't have been a problem no? But if we're going to allow multiple samples, probably better to mirror what map and compare do. Though, we run racon on every PRG anyway right, so not sure it would make a difference? Would only make a difference if we were relying on kmer coverage in order to trigger running racon (which might be wise to do at some stage)

I think last I was working on it (before the racon change) it wasn't able to take more than one sample so this wouldn't have been a problem no?

No, it wouldn't.

But if we're going to allow multiple samples, probably better to mirror what map and compare do. Though, we run racon on every PRG anyway right, so not sure it would make a difference? Would only make a difference if we were relying on kmer coverage in order to trigger running racon (which might be wise to do at some stage)

Updating the kmer coverage model right now makes no difference on discovery, but updating the error rate does make, as discovery will now not use a single fixed error rate, but an error rate that is auto updated after processing a sample. I chose to do this to indeed keep consistency with the other 2 commands, implemented in https://github.com/rmcolq/pandora/pull/335/commits/e827462bd2d887a06d29483036ac9db1f0f77d36 . The option --dont-auto-update-params was also added to discovery, in case you want to fallback to the previous behaviour.

Hey @iqbal-lab , @mbhall88 , @Danderson123 I think this is ready to be merged, please take a look and state your corrections or further reviews, if any.

Happy to merge after the above is discussed.

ok to merge


Waypoint: Add your JavaScript Slot Machine Slots - test passes with totally wrong code

As shown in SS above i passed the test with totally inverted logic than stated in the challenge. This bug only appears when all three slot numbers are equal.. i.e. you win, in which case you should actually return the number rather than null that this code will return.
Also to mention that instruction also says: "If all three numbers match, we should also set the text "It's A Win" to the element with class logger." which is not done or checked and you still pass the test.

Ah..I did this one :/ Forgot to change the text in tests. @SaintPeter  can I take this?

I believe we are planning on removing or substantially revamping the slot machine challenges in the near future.  You're welcome to make the change @faizaanceg, but at this point I'm not sure that they'll even be around long enough to get it accepted.
@QuincyLarson Do we have a timeline?

@SaintPeter do you want to submit a PR adding the beta flag to those challenges?

This issue is now back. There seems have been no update but the challenge has reappeared.


pythonPackages.Theano: set NIX_ENFORCE_PURITY=0 for invocation of wrapped compiler

Motivation for this change
This should unblock some ZHF (#97479) targets.
Theano currently builds but doesn't work properly as the nix compiler wrapper gets upset with the path of the temporary file that Theano generates - it considers it an impure path. Issues discussing this: #91431, #93560, #73051
This may be an extremely naive solution from me, but it does appear to work just making sure NIX_ENFORCE_PURITY is set to zero before the compiler-wrapper is invoked.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[x] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

The settings on the temporary variables should be fully addressed with #97597.
That isn't to say though that not setting NIX_ENFORCE_PURITY is or isn't a good idea. That will depend on whether someone is more likely to having impure paths sneak in or have pure paths not resolve correctly.
In the past one person ran into issues due to making their home directory a symlink. This resulted in their being multiple paths to the same libraries, only one of which was recognized as being pure. Not settings NIX_ENFORCE_PURITY would have avoided this. Possible also if the wrapper script had set NIX_BUILD_TOP to $(realpath $HOME/.theano) instead of just $HOME/.theano things would also have been okay.
All I did though was advice them not to use symlinks for their home as it is generally a bad idea in my experience. For example, if /home/me is a symlink to /mnt/external/home, then /home/me/.. is /mnt/external and not /home, which I've seen cause issues before.
It is likely also worth mentioning, now that I'm more familiar with cross compilation, technically we should have the runtime version of the buildtime compiler. This hasn't been an issue yet though as I don't think anytime is cross compiling theano.  :grin:

I'm proposing this PR because it isn't fixed. Theano on master will build fine, but as soon as you try to import it, it will give the same error. Do try it.
In particular this causes the tests of downstream packages to fail, such as pymc3.

That is because #97597 was just recently merged into staging, so it hasn't yet landed in master
https://github.com/NixOS/nixpkgs/compare/staging

Ahh staging - I didn't notice that.
I'm looking at something that will be safely backportable to 20.09 though, and I'm not sure how people will feel about a significant compiler-wrapper change.

I'm not opposed to this patch. I just don't know if it will be a net win or not.
From a purity standpoint, I prefer the purity filtering. From a practical standpoint though, it if we keep running into corner cases, it is better to forgo it. What we don't know is if we are going to discover corner cases from disabling it because the purity enforcement isn't just about checking, it also actively strips possibly problematic paths from the users environment (IIRC, this was an issue on our CentOS based super computer clusters).
If we do merge this, my suggestion would be to pass through the user's NIX_ENFORCE_PURITY rather than unsetting it
"$(declare -xp | sed -e '/^[^=]\+="\('"''${NIX_STORE//\//\\/}"'\|[^\/]\)/!d' \
                     -e '/declare -x \(NIX_ENFORCE_PURITY\)/d'))"

so, if there are people who require it, or we think it might help them, there will be a way to re-enable it by manual exporting NIX_ENFORCE_PURITY=1 before running Theano.
Another, possibly better, alternative would be to combine this with clearing the user environment before invoking the compiler
#!$(type -P env) -i $(type -P bash)

as I expect this may also be sufficient to resolve the bad user's environment issues that the purity checking took care of.
Assuming this last one works, I would suggest merging that into 20.09. It would probably be fine for master too, if people really wanted it, although my slight personal preference would be to find out first where things sit with hydra once staging lands.

Ok let's wait for staging to land. Though I'm sceptical that even if everything is happy, the staging solution will be appropriate for 20.09 given how close we're getting. Patching things here can only ever break theano-related packages, which is why I like it.

Well, the compiler environment wouldn't be fully stripped. It would be the build environment variables stripped of any variables set to absolute paths other than those under $NIX_STORE. That is, the command
declare -xp

prints all the bash declare command required to restore the exported environment. The sed line then removes exported environment variables from that that aren't of the form

<absolute path starting with $NIX_STORE> or
<not an absolute path>

which is what gets put at the start of the gcc wrapper script.
Still, it is a bit of an approximation though. From the gcc environment variables page, you can see there are both environment variables you wouldn't want leaking to the compiler (e.g., LIBRARY_PATH, CPATH, C_INCLUDE_PATH, etc.) and some that should (e.g., TMPDIR). And that is just gcc. You have to also consider the compiler could be clang.
This is what makes hijacking the existing nix purity filtering system seem so tempting.

I think the problem with respecting the user's NIX_ENFORCE_PURITY setting in the wrapper is it will cause failures when invoked from within another package's build, because of course, NIX_ENFORCE_PURITY will be set. So it will e.g. cause downstream packages' tests to fail.

NIX_ENFORCE_PURITY now shouldn't be causing problems on master or 20.09, right?

It's still causing problems on 20.09 because it lacks #97597 (and its predecessor), and I think it's probably too significant a change to introduce to 20.09 at this stage.
However I have figured out a workaround I can use for 20.09, which I'm about to open a PR for shortly.
Certainly this PR can be closed.


Option to build without pushing the image

Thanks for this cool GitHub Action!
It looks like it could be useful to have control on whether to push the image or not, after the repo2docker build has completed.
For example, the build would be triggered when someone opens a PR, without pushing the image to DockerHub. Maybe something like the following:
name: Build Notebook Container
on:
  pull_request:
    branches: [ master ]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:

    - name: checkout files in repo
      uses: actions/checkout@master

    - name: try-local-build
      uses: machine-learning-apps/repo2docker-action@master
      with:
        push: no

This would make it possible to check whether the repo correctly builds before merging into master.

This is a good suggestion, adding this to my backlog


Implement percentage node replacement for load balancer

This is a hack to allow us to re-route a portion of traffic from an overloaded region to alternative nodes. We have a region where we'd like to balance more traffic away from onto alternative regions instead.
For example to re-route 25% of regionX to a selection of other nodes:
lb-replace-host-match = regionX
lb-replace-host-percent = 25
lb-replace-host-list = otherNode1,otherNode2

Think I should be able to add some unit tests... hold tight

@thomshutt please could you review? thanks

Sure, I had meant the reason was that we need to re-route a portion of traffic from an overloaded region to alternative nodes


feat(admin): set up admin package

IMPORTANT: Please do not create a Pull Request without creating an issue first.
Fixed issues (PRs without this will not be accepted)

Fixes #151

Changes

Copied and pasted files from client package
Removed unnecessary dependencies and components

PR Checklist

[ ] Does your PR contain relevant tests that pass?
[ ] Is your code linted? yarn lint or yarn lint:fix
[ ] Does your code build correctly in ALL projects? yarn build

Thank you for your reviewing, @tristanMatthias !
I moved these files you mentioned to ui package.
Should I also refactor client package where these filed are used with this pull request, or create another pull request for client package refactoring?


Revert last deploy from master commit

Our last commit didn't work, we need to revert it for now.

Could you elaborate more on the PR description and commit message?

This reverts https://github.com/ComplianceAsCode/ocp4e2e/commit/bda55cd943b182f1b2420fe556ce844a188965cf. It might be nice to do the revert using the proper git tools git revert sha but we need to get the CI back up..


Doctrine collections 1.3.0

Hi there,
will the package work with Doctrine collections 1.3.0 ?

This package is just collecting namespaces. So it should work.


Fix go.sum

PR generated by Renovate bot sometimes lack package sum entries in go.sum. https://github.com/pion/.goassets/issues/14
This fixes go.sum of the current master branch and also add a GitHub Action to automatically fix future problem.

oh, I have to fix to ignore examples/go.mod.


Modularize next.js

Hey guys, what you are doing is amazing, a lot of good architectural choices!
Coming from meteorland I'd like to contribute with a big lesson learned: buy-in is real and consequential. You have a framework that magically does everything for you, and then when you want to move on to the next better approach (and you will, because it's javascript-land) you have to give up on the good parts as well as the bad.
The next.js community has the opportunity to do this right, but there is already a somewhat bad sign: next.js has all the code in the main repository, and no other zeit dependency! I think it should be the opposite. next.js should only be wiring things together.
I'd suggest this approach: ask yourself - how would it be if there was no next.js repo but only partial modules, and I had to pick and wire everything together in the app directly? <- make this as easy as possible
I know you, like me, like the unix philosophy (do one thing and do it well), and from how I see it next.js does already too many. At the very least

A files-based router
A react-component-module-based SSR+front-end-rendering solution
A build tool

Now you think "but these are all entangled together". Well, that's exactly the problem. That's what happened with meteor. My recommendation is that you start decoupling these things from each other early enough, or in a year people will face real problems when they want to replace one or more bits of the stack with something else.

A monorepo could make this not as painful as an org + multi-repos to keep in sync.

A monorepo is exactly what locks one into the whole stack, which is what one should avoid.

What I call a monorepo is a single git repo with multiple packages in it. I don't see how this can lock you and make it unable to use a package or a fork for something specific.
The real thing to work on is to make those packages not relying on each others when possible.

Ok I didn't know the term. Basically it's one repository containing many separate npm packages, which then get published to npm independently? Sounds interesting, I agree, such a setup might favor the right architectural choices.

See https://github.com/babel/babel/blob/219f6292679bd040f9cb7e5725c18ddaa805b816/doc/design/monorepo.md

This sounds cool!
Lerna can manage monorepo with multi packages.

Let me add a list from my search in https://github.com/MoOx/phenomic/issues/598#issuecomment-242748971

http://lernajs.io/ (I saw a bad feedback: slow https://github.com/pouchdb/pouchdb/issues/5545)
https://formidable.com/open-source/builder/ (maybe a bit weird)
https://github.com/northbrookjs/northbrook (inspired by cyclejs monorepo)
https://github.com/knitjs/knit (use yarn and don't have the "bootstrap" step that lerna requires)

some infos

https://github.com/pouchdb/pouchdb/pull/5178
https://github.com/boennemann/alle#readme

Big ➕  for this one
I'm currently looking to use <Head>, love how you guys implemented it.
Would be nice if I could just import @zeit/next-head or something like that, instead of next, which is quite heavy altogether.

Thanks for your comments.
I'm in complete agreement with you, and this is already our approach.
Some general comments:

The framework is a result of building https://zeit.co. We're not a framework company, we're a cloud hosting company. We'll continue to make the best tool to solve our problem, and share it with the community. Others take the approach of start with the framework, then build the products.
We have no intention of adding more features. Instead, we are expanding your ability to customize and override:

Custom config to override babel and webpack #222
Custom server logic and manual programmatic initialization #291
Custom  wrapping #251

Our main priority is fast loading times and small code footprint
Whenever we see the opportunity to make something reusable, we do. This is the approach I took with styled-jsx.
To address your points:

"A files-based router" is serve-static, list, …
"A react-component-module-based SSR+front-end-rendering solution" is what Next.js is.
"A build tool" is Webpack and Babel, both not of our creation

Finally, modularization for the sake of modularization is not useful. I think modularization is useful when it serves a mechanism for module substitution. In this case, modularizing webpack is important because then you can extend it and learn it independently.
My goal is to provide a good foundation for stability in making high performant websites and web applications with a focus on lightweightness and flexibility.
APIs like getInitialProps, custom server, custom <Document /> are all about that :)

Oh by the way, I completely agree that <Head> should be its own module

Sounds awesome. In particular #291 is what does it for me.


fix: only run summarize when there is something to summarize vs up front

This makes it a lot less chatty especially at first

@lamchau no science behind that number, was more from my interaction where early stuff don't need to be summarised (but probably could do with deeper thought)


[2835] Add location filtering

Context
To support location filtering on Find the we need to add it to the API
Changes proposed in this pull request

Change to geokit-rails
Add the filter (latitude+longitude+radius) to the v3 course index API

Guidance to review
Checklist

[x] Make sure all information from the Trello card is in here
[x] Attach to Trello card
[x] Rebased master
[x] Cleaned commit history
[x] Tested by running locally

 [L] location filter: Add filtering to api


Pollution

Avoid polluting anything outside the build directory. We should adhere this best practice.

I support this.  I've wanted this for a long time.  I'd like pbbam and other projects to move to this model as well.


Fix RenderOffsets

This may (and will) lead to API BC
Fixes #114

Hey @dadodasyra, was this tested? Can we get a before/after?


Apparently audit logs have changed a little, but I'm not sure what has changed so things may be missing. However, I did manage to successfully pull 1000 audit log entries from Discord API and they all seemed to be complete.
I have changed some things since the last PR, namely adding read-only structs to store values instead of using the built-in read-write types I had before. I also removed a bunch of TODOs as I realise it wouldn't be worth grabbing channels for each entry.

Should be ready for re-review @foxbot :+1:


Is it necessary to load all config screens on opening the Mod Menu?

I found that when clicking the "Mod Menu" button, config screen for all mods that have config screens are created (ModsScreen#init). I don't think it necessary. It may waste times when entering mod menu screen.

It is necessary for the search bar filter for configurable mods. In English a search containing one of configurations configs configures configurable options only shows mods that have a config screen.
Some languages have translations for this, see the modmenu.searchTerms.configurable key in the language files.


Bulge shape calculator

fix #2757
I have added a calculator for bulge

@sairish2001 The resolve conflicts button is inactive. How should I resolve the merged conflicts ?

@sairish2001 That will be okay


I18n

Polish Translation made by JimmyTudeski | Stakenode

Don't forget to post your KSM address! :)


Wrong Image being selected for the pixelRatio

[x] Review the documentation: https://facebook.github.io/react-native
[x] Search for existing issues: https://github.com/facebook/react-native/issues
[x] Use the latest React Native release: https://github.com/facebook/react-native/releases

Description
so iPhone 7 PixelRatio.get()  is 2
so iPhone 7 plus PixelRatio.get()  is 3
The image being used for both is<EMAIL_ADDRESS>it should be using<EMAIL_ADDRESS>for anything with PixelRatio of 2 ?

FFS


Added some django resources

Hi @rammyblog, thanks for your PR. Are all the resources FREE?

The udemy one is paid, maybe I will replace it with something better
On Thu, Aug 13, 2020, 7:06 PM Temitope Ajiboye<EMAIL_ADDRESS>wrote:

Hi @rammyblog https://github.com/rammyblog, thanks for your PR. Are all
the resources FREE?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/codeclannigeria/learning-resources/pull/12#issuecomment-673629172,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIWPU47U5JLDG3CNVBEU73TSAQTTVANCNFSM4P6TWABA
.

Okay. Please do and update the PR.