Can PublicSuffix::List impliment enumerable?

It's be awesome to just be able to treat a list like an array.

I think this is already the case, see #each:
https://github.com/weppos/publicsuffix-ruby/blob/8bbd236f0ca8ec137cb071c7ecf6a52198d1c497/lib/public_suffix/list.rb#L123-L130
$ irb -rpublic_suffix
irb(main):001:0> PublicSuffix::VERSION
=> "3.0.2"
irb(main):002:0> PublicSuffix::List.new.each
=> #<Enumerator: #<Enumerator::Generator:0x00007fb07a9a5d08>:each>
irb(main):003:0> PublicSuffix::List.new.each.methods - Object.methods
=> [:size, :each, :each_with_index, :each_with_object, :next, :rewind, :with_index, :with_object, :next_values, :peek_values, :peek, :feed, :max, :min, :to_a, :to_h, :find, :entries, :sort, :sort_by, :grep, :grep_v, :count, :detect, :find_index, :find_all, :select, :reject, :collect, :map, :flat_map, :collect_concat, :inject, :reduce, :partition, :group_by, :first, :all?, :any?, :one?, :none?, :minmax, :min_by, :max_by, :minmax_by, :member?, :reverse_each, :each_entry, :each_slice, :each_cons, :zip, :take, :take_while, :drop, :drop_while, :cycle, :chunk, :slice_before, :slice_after, :slice_when, :chunk_while, :sum, :uniq, :lazy]

Well, if there's an #each method already defined, you can just include Enumerable to get all the other standard enumerable methods on the PublicSuffix::List object like map, select, reject, sort_by, etc. Having #each return an enumerator seems weird to me, because then you end up with PublicSuffix::List.new.each.map. You could drop the Enumerator.new call in #each and include Enumerable, and I think that'd be much neater. So repalce the block you've quoted with:
include Enumerable

def each(&block)
  @rules.each do |key, node|
    y << entry_to_rule(node, key)
  end.each(&block)
end

List doesn't implement Enumerable anymore on purpose 958ecfa500d08c393e353a81b37994a04ec056b2


layer_norm(): argument 'normalized_shape' (position 2) must be tuple of ints, not int

Hello,
I am using the gradio demo and getting the following error:
layer_norm(): argument 'normalized_shape' (position 2) must be tuple of ints, not int
The problem is occurring because self.channel is 194 when executing:
    def forward(self, x):
        x = x.transpose(1,-1)
        x = F.layer_norm(x,(self.channels),self.gamma,self.beta,self.eps)
        return x.transpose(1,-1)

How can I fix this bug?
Thanks!

missing a comma


Random region when REGION is empty

This change picks a random ovpn file when $REGION is empty, it doesn't replace the default value tho, so you need to explicit set it, like --e REGION=""

Thanks for the PR! :+1:
Although I'm rewriting the whole entrypoint in Golang, it's like 95% done, instead of shell scripting so I'll integrate your suggestion in the newer version to avoid myself merge conflicts :smile:
I'll make sure to give you credits for the suggestion in the code and readme. I'll leave the PR opened until then.

@rorph I've added your changes to the beta Docker image. You can try it if you want:
The Go rewrite Docker image is now out in 'beta' at qmcgaw/private-internet-access:go.

The documentation is here
It should work with the same settings as before
Feel free to comment here or on the Slack channel
Note that it's lacking port forwarding for now, I will do it in the coming few days
It might have bugs as it's not totally unit tested yet


Documentation: Is it possible to update the comment with more info

https://github.com/square/okhttp/blob/f24bc62f6351219cc2c592a3a4dfaa569ba716a6/samples/guide/src/main/java/okhttp3/recipes/WebSocketEcho.java#L23
Hello! Is it possible to get more clarity on what this line does?
As my initial thought is that it would completely stop any subsequent network request made via this OkHttpClient object? Was this line written for this particular sample where we are creating a new OkHttpClient object inside run()?
Also, for an application having a singleton OkHttpClient object, should this be called at all?
Thanks for reading!

This might help?
https://github.com/square/okhttp/pull/8328


docker machine sometimes return "exit status 1" on create

We found one reason why this is happening: the /Applications folder on osx is on occasion set to world writable which virtualbox complains about and will not create the vm unless it is fixed this can be done with a chmod 0-w /Applications


useQuery never uses the Apollo Cache

Describe the bug
In revision 5d3b7dc59 a change was made to always set the fetchPolicy of useQuery() to "network-only" (see line 106 in useQuery.ts). Because of this the query results are never cached. Is this intentional?
To Reproduce
Steps to reproduce the behavior:

Use useQuery() on one page of your Vue App
Open said page and monitor the network traffic, showing a request to the graphql server
Navigate to a different page and back
See the query being executed again

Expected behavior
An apollo query should be cached unless otherwise specified by the user.
Versions
vue: 2.6.11
vue-apollo: v4.0.0-alpha.8
apollo-client: 2.6.8

Nevermind, its too late at night here :) I just realised that its only true for ssr.


PSF correction of images won't work for small window observations

I suspect the edge effects will be intolerable I think, not sure how I'll avoid this.

For now I think I'll add a check that raises an error if the user attempts to PSF correct a window mode observation.


Too large URL

When I click on some system tablet in the list of all databases, I get 414 Request-URI Too Large.
It has many storage nodes that are added to the URL like /tabletsFilters?nodeIds[0]=1&nodeIds[1]=2 ...

get rid of nodeids

closed due to tablets being removed from the list of databases

this page is removed from UI


[MRG] refactor tool execution to be much more flexible

This PR removes the need for a single top-level output directory, which makes tool execution much easier.
The main effective change in the tool Snakefiles is that OUTPUT_DIR should no longer be used; in this PR, we replace the use of OUTPUT_DIR with LOG_DIR, which is the only place where OUTPUT_DIR was used anyway ;).
This PR also modifies the run scripts to create guaranteed-distinct output directories by default, which is nice.
In addition, run-many-queries now creates distinct query.prep and results output directories.

hi folks, this ready for review!


Syntax improvement. #trivial

Using an active voice instead of passive. Also, being was misspelled.

Ace :+1: shipppppit


Enable secure connection in minio config for S3 integration

Which issue is resolved by this Pull Request:
Adds #244 to release 1.5.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

closing in favour of #373


Rubocop 1.35.1

Updates Rubocop (and dependencies) to version 1.35.1
There are no new cops in this version; it comprises mostly bug fixes plus some new options for existing cops.
See https://github.com/rubocop/rubocop/releases.
This PR continues to use Codeclimate's rubocop channel 1-31-0, which is the highest currently available channel.
See https://github.com/codeclimate/codeclimate-rubocop/branches/all?utf8=✓&query=channel%2Frubocop
The PR therefore will not have any effect on CI testing. It will make a slight difference locally, especially for VScode users.

Coverage remained the same at 92.207% when pulling f9c2768c6c9a72afaccc29db64308ba089af3543 on jdc-rubocop-1_35_1 into 3bc78250ce647f7510a7183966d7c3d45291a247 on master.


Changing imports paths.

Without this change this project won't compile :smile:

@Quentin-M please review

LGTM


Sets real_ip ranges to local network only

Makes sure the real_ip ranges only include trusted IP addresses from local subnets

This is an automated message from CI:
Docker Image for build 2 is available on DockerHub as jc21/nginx-proxy-manager:github-pr-1159
Note: ensure you backup your NPM instance before testing this PR image! Especially if this PR contains database changes.


[Super-Lint] ERRORS FOUND in BASH:[1]

Warning message:
2020-12-01 02:32:40 [INFO]   File:[/github/workspace/contrib/install.sh]
2020-12-01 02:32:40 [ERROR]   Found errors in [shellcheck] linter!
2020-12-01 02:32:40 [ERROR]   Error code: 1. Command run:[$
In /github/workspace/contrib/install.sh line 16:
cmakeargs="${@:5}"
^------^ SC2124: Assigning an array to a string! Assign as array, or use * instead of @ to concatenate.

Following commit fix issue:
Fix Super-Lint warnings


OS keyboard shortcuts don't appear to work in lobby text field

I don't seem to be able to copy paste codes, or cmd-a to select the text in the text input.

ah sorry I thought there was an issue for this already. I tried getting it to work with robotjs but couldn't. robotjs has been updated since I first tried though, so maybe its possible now?

This is from not having the menubar set up
You will need a http://electron.atom.io/docs/v0.36.7/api/menu/#methods set as the application menu bar you can use https://www.npmjs.com/package/electron-default-menu for doing a simple menu
If the screencat window is focused when the menu is clicked the keyboard commands should work

Ohh wait from host or client?


Feature request. support for responsive images by using srcset attribute

img/1-200.jpg 220w, img/1-800.jpg 820w

Been meaning to implement a solution for responsive images for a while. srcset is kind of confusing imo so don't know if it should be based on that, but I'll add it at some point.


Support of Academicons

It would be nice to support Academicons, to allow more icons to be used in an academic context (Google Scholar, DBLP, etc).
It looks like there is already a recent Typst package for it that follows the architecture of the Fontawesome package used by brilliant-CV, so I imagine adding support for it would not be too complex.
We could have hard-coded personal.info properties like github, linkedin and such, or simply a personal.info.custom-* generic property academicIcon akin to awesomeIcon.

I will take a look at this iconset @Lelio-Brun, thanks for the proposal.
But also in theory, I will be less inclined to propose all new changes to icons as an opinionated design, while there are already functionalities (with personal.info.custom-* where you might plugin any images or boxes you like). Did you have any difficulties making the academicons work with the custom fields?

I understand the concern. Academicons has been designed as an extension of Fontawesome, that's why I figured it could be candidate to integration.
On the other hand, I have been unable to make the image property work in personal.info.custom-*. I identified several problems I faced:

I cannot find an easy way to write Typst code in the metadata using external format (TOML, JSON, etc.)
When defining the metadata directly as nested Typst dictionaries, I got a compilation error (both when using image() or box():error: type content has no method `with`
   ┌─ @preview/brilliant-cv:2.0.2/cv.typ:93:21
   │
93 │           icon = img.with(width: 10pt)
   │                      ^^^^

Indeed, from what I can tell, in Typst, something like:#let b = image(path)
#b.with(width: 50pt)

produces the same kind of error... Now something like this does work:#let b(width: 10pt) = image(path, width: width)
#b.with(width: 50pt)()

I think the problem is that in the package code, img is already evaluated content, not a function, while with() is a method that should be applied to a function to produce another function. Another solution to avoid the need to handle functions everywhere would be to embed img into a box like: box(img, width: 10pt).

This is getting interesting here, thanks for the additional input!
Indeed it was tricky to balance between flexibility and modularity; Typst compiler has not yet been too handy in this regard since a good while. I haven't got the time to sit down and take a look on it, but will try to get this done by the end of the weekend.

Hi sorry for the late reply, it's been a extremely busy month.
Regarding our latest discussion, some remarks:

I confirmed that the img functionality is broken, partly because there was a bug (it got evaluated directly instead of being eval in the template), but also because it would not be working given Typst's path handling mechanism. This one is not resolvable for the moment.
For the Academicons implementation, it can also be complicated as I just checked the package you mentioned -- it's not simple invocation like awesome-icons package (you input the name of the icon and call it a day). Once again, this is the functionality that toml implementation can not unfortunately handle.

I think we will have to imagine other ways to extend the flexibility, as people are somewhat really looking forward to customizing the header info icons, yet it's going to be tricky for TOML to do this kind of job.

I can confirm that Academicons will not be hardcoded into our template, so in favor of that I am closing this issue, sorry.
Regarding the subject of header info icons flexibility, I will open another issue to centralize the discussion, feel free to leave your thoughts there!

2. I just checked the package you mentioned -- it's not simple invocation like awesome-icons package (you input the name of the icon and call it a day).

I thought it was though, #fa-icon("chess-queen") versus #ai-icon("lattes")?


Check out parity-scale-codec-sgx

https://github.com/mesalock-linux/parity-scale-codec-sgx
This might be a heavy pain reliever for us.

Why? scale codec already is no-std and we're using it in the enclave already. What would be better?

Haha, actually you are right. I got blinded by the label and forgot that parity's codec is already no-st. But then I wonder why the above even exists. I am curious enough to check it out.

Well, it will probably expose codecs  for some types which would otherwise only be accessible in std env, but I have no overview of what that might be.

String::decode()?

Update: the full feature is working within the enclave.
In practice:. when adding features = ["derive", "full"] String::decode() works, as well as structs implementing #[derive(Decode)] containing strings. With this, this issue is solved on my side.

Ok, let's close this then.

I vote again for reusing this. parity-scale-codec-sgx has std::error:::Error implemented in sgx-env, which the original crate does obviously not have in no_std environment.
Having the Error trait implemented is really useful because it contains the exact error source. This piece of information is preserved if we use it together with thiserror's #[from] attribute in our custom errors.
Hence, we can use the ? operator in our code without loosing valuable information. This, in turn, allows making our (very very verbose) code, to be less verbose in the enclave.

ok, why not

can we close this after https://github.com/integritee-network/sgx-runtime/pull/22?

I think we can close this. I have discovered the codec's feature "chain-error", which will append the whole error-chain also in no_std.
Furhtermore, these sgx-deps are too outdated. parity-scale-codec is still at v1.


Keybinding to set a new label doesn't work consistently

🐛 Bug Report
After creating a labels layer, I observed that the m keybinding does not behave consistently.
💡 Steps to Reproduce
Create a labels layer.

If the layer is selected, the m keybinding will either do nothing or select another layer wiht a name that starts with the letter m;
If the paintbrush, fill bucket or polygon tools are selected, the m keybinding doesn't do anything;
If the paintbrush has been used in the canvas, the m keybinding correctly adds 1 to the label control and a new label is selected and can be used to paint.

💡 Expected Behavior
The m keybinding should increase the label number in all those situations.
🌎 Environment
napari: 0.5.0a2.dev486+g4d60a7ce
Platform: Linux-6.1.64-1-MANJARO-x86_64-with-glibc2.38
System: Manjaro Linux
Python: 3.11.6 | packaged by conda-forge | (main, Oct  3 2023, 10:40:35) [GCC 12.3.0]
Qt: 5.15.2
PyQt5: 5.15.10
NumPy: 1.26.2
SciPy: 1.11.4
Dask: 2023.11.0
VisPy: 0.14.1
magicgui: 0.8.0
superqt: 0.6.1
in-n-out: 0.1.9
app-model: 0.2.2
npe2: 0.7.3
OpenGL:

GL version:  4.6 (Compatibility Profile) Mesa 23.1.9-manjaro1.1
MAX_TEXTURE_SIZE: 16384

Screens:

screen 1: resolution 1920x1080, scale 1.0
screen 2: resolution 1920x1080, scale 1.0

Settings path:

/home/melissa/.config/napari/napari-dev_f5bfbd9c5d96bcb503f816d91f8db95d3b6d554f/settings.yaml
Plugins:
napari: 0.5.0a2.dev486+g4d60a7ce (77 contributions)
napari-console: 0.0.9 (0 contributions)
napari-svg: 0.1.10 (2 contributions)

💡 Additional Context
No response

Hi there, just in case, gave this a check and seems like the related logic for that shortcut is at https://github.com/napari/napari/blob/e6a454eaa3ed8628b1f0c6a3237d9e33e1f96d72/napari/layers/labels/_labels_key_bindings.py#L70-L78
Seems like it depends on the layer data to work (which I guess is the reason why it only works when you painted something). Also, maybe that is the reason why there are a couple of other shortcuts which change the current selected label regardless of layer data (- to decrease and = to increase)?

Sorry I missed this!!
Daniel is right m doesn't increase the label number, it sets it to the next unused number. So if there are no labels painted then max+1 will return 1 which is the first label (0 is background/erase).
Likewise, if you paint with 1, hit m to get 2 then hitting m again won't do anything, because it's already at max+1.
Is it worth considering a Notification just not sure how to phrase it, maybe like:
Largest label already selected or something?

Oh that makes sense, yes! A warning sounds very reasonable. Thanks!

So something like this could work?:
@register_label_action(
    trans._(
        "Set the currently selected label to the largest used label plus one."
    ),
)
def new_label(layer: Labels):
    """Set the currently selected label to the largest used label plus one."""
    new_selected_label = np.max(layer.data) + 1
    if layer.selected_label == new_selected_label:
        warnings.warn(
            trans._(
                "Largest label already selected",
            )
        )
    else:
        layer.selected_label = new_selected_label

A preview:

Let me know if such an approach could be worthy to submit a PR :)

Yeah that's exactly what I was thinking, only using show_info
https://github.com/napari/napari/blob/d507dd64ed6d96e984fa7fa57f2f232be388b5f7/napari/utils/notifications.py#L359
see also:
https://github.com/napari/napari/blob/d507dd64ed6d96e984fa7fa57f2f232be388b5f7/napari/layers/points/_points_key_bindings.py#L66-L78
It has a different icon in the notification, versus warning.


Resque and ruby-kafka Async?

Version of Ruby: 2.4.3
Version of Kafka: 1.0.0
Version of ruby-kafka: 0.5.4

Shot in the dark, has anyone successfully used the async producer with Resque? What was your initialization logic? We're trying to find a solution that allows Resque jobs to share a connection, but everything we've tried either causes lost messages, or we have to connect to the cluster in every job. Any help appreciated!

Hi @bradurani, I'm using async producer with Sidekiq (25 threads, 1 shared async producer instance) and Puma (3 processes, 25 threads each process, 1 async producer instance per process). Everything works fine for me, there aren't any problems so far. Resque is different, it follows forking approach, which it forks a new process and handle the job in that. The AsyncProducer spawns two threads, 1 timer thread and 1 worker thread and maintains a queue to pass the messages from current thread to those 2 threads.  I feel like the forking behaviors of Resque would effect the behaviors of Async Producer, but not 100% sure about this. Perhaps you could follow this approach to investigate more. I'll try to reproduce your problem to have a clearer answer 💪

Yeah, I think a forking Resque configuration is the worst possible way to produce to Kafka. I'd investigate Sidekiq or non-forking Resque.

Hi @bradurani,
I'm not sure whether you still follow this topic or not. I had a look at the problem you are facing. To sum up, I don't think the async producer is the best choice for your use case.
As I mentioned above, AsyncProducer creates two threads and use a Queue object as the communication queue between those threads. When you creates an instance of AsyncProducer in main Resque process (say pid1), the queue object exists in this process. When a job starts, Resque forks the current process (say pid2) and it creates a clone of the queue object. Therefore, whenever you do in pid2, all the data pushed to AsyncProducer is stored in cloned queue object in pid2; pid1 doesn't know anything about this. This fails your intention of re-using the connections and publishing logics.
The message lost situation you meet, IMO, is because the workers threads of AsyncProducer don't finish its jobs in time, before the child process pid2 is killed. Therefore, you must wait for the async producer to finish its job. In addition, there is a really bad situation that if the queue's object in pid1 is not empty when the forking process happens, you will end up with message duplication.
From the above points, AsyncProducer is error-prone and doesn't bring any advantages on the table. I think you'll need to create a normal sync producer for each job. That would be the safest solution. If the number of messages to produce in each job is high, I think it is not bad at all.
Hope this is useful for you 💃

Thanks @nguyenquangminh0711 !
Thanks for the clear explanation! We experimented with this quite a bit and came to the same conclusion you did, though without the same depth of understanding you've given us here. We're currently running about 13m Sidekiq jobs and 750k Resque jobs a day. The solution we came up with is that anytime we want to enqueue something in Kafka from Resque, we create a Sidekiq job from Resque and then enqueue in Kafka from Sidekiq.
Thanks again for experimenting with this!


Session expires every hour

Session expires every hour,  MaxAge is ignored.

Could you please show me a bit of your code?

It has to do with the mongodb index expireAfterSeconds not getting updated when the MaxAge is changed.

OK I see!
I will try to fix this as soon as I have time.
In the mean time you may want to try https://jira.mongodb.org/browse/SERVER-6700

Is there any update on this? I'm having this problem currently.


Reinstall Leaves Streamus Blank

I recently updated Chrome and was forced to reinstall Streamus. The extension will now not load at all.

If you go to chrome://extensions/, find Streamus, uncheck 'enabled' next to it, and then re-check 'enabled' does that fix it?

I removed the extension which I grabbed from github and installed it via the link on the main website. Working fine now.
This ticket is technically solved by installing the extension via the website. But any ideas why I was unable to get it working by dropping the extension folder into the chrome extensions tab?

Could you give me exact steps to reproduce and I'll try to answer your
question?
Was this the master branch, or the dev branch? Were you following the steps
provided in the ReadMe to get up and started, or were you taking other
actions? You're on Chrome 40.0.2214.111?
On Mon, Feb 16, 2015 at 11:01 PM, Zach Queal<EMAIL_ADDRESS>wrote:

I removed the extension which I grabbed from github and installed it via
the link on the main website. Working fine now.
This ticket is technically solved by installing the extension via the
website. But any ideas why I was unable to get it working by dropping the
extension folder into the chrome extensions tab?
—
Reply to this email directly or view it on GitHub
https://github.com/MeoMix/StreamusChromeExtension/issues/433#issuecomment-74625446
.

I'm running 39.0.2171.62 beta-m (64-bit).
It looks like I pulled the development branch by accident, instead of master. Uninstalling the plugin and using the master branch works just fine.


pkg_deb does not set version in filename if version is set via version_file

I use version_file to generate a per-commit version number (yay for stamping!), but that doesn't show up in the filename, which then ends up with NAME__ARCH.deb instead of NAME_VERSION_ARCH.deb.
If I use version = "abc", I correctly get NAME_abc_ARCH.deb.
This has caused a few headaches for me, as it turned out our in-house repository de-duplicated things based on filenames...
For reference, I do roughly:
def internal_deb(name, **kwargs):
   if not ("version" in kwargs or "version_file" in kwargs):
     kwargs["version_file"] = "//internals:canonical-release-tag"

  ...
  pkg_deb(name, **kwargs)

Also mentioned in https://github.com/bazelbuild/rules_pkg/issues/521#issuecomment-1288040803, but having spent better part of a day figuring this out, I feel the problem is entitled to it's very own issue :)

It's not possible to get the filename based on the content of another file. That's a fundamental Bazel constraint because the build graph, including all output file names, is precomputed before the actions are executed. If the file with the version is written by Bazel, you have a loop.
My suggestion would be to wrapper git (or whatever SCM you use) to update a bit of starlark code like 'commit.bzl' with the current commit hash.   You can read that from your rules and build the file name from that.

Yeah. I pretty much came to the same conclusion on the train homewards.
I'm currently trying to bake it into my dput-wrapper (which then re-names the files to have the right names + fixes the changes-file; not super-pretty, but it does work).


Loop example

Hello. Could you shed more light on the loop component and how it could be used?
Again, thanks for the continuous updates on this tool! Very much appreciated!

Hi @Mantsi ! This is a foreach loop. For an input list of objects, it will recalculate the components between the beginning of the loop and the end of the loop with subsequent elements from the list.
Typical usecase for this are the operations over multiple drawings. You can't do it in parallel, with a single flow due to Tekla limitations to having only one drawing opened at a time.
But, it's better to start with something simplier, like this:

Of course, for this you don't need a loop, but the essence is nicecly captured in this screenshot. Please look that Multipllication component is seen as run only once, but the type of input suggest that it is not possible (you see single wire = one object as input).
For the Tekla drawing operations, let's do something like this:

This script will operate on drawings selected in the document manager. It opens drawings sequentially and moves all of the views by the fixed vector.
You can try with those components based on the script:
samples/Samples.gh


Add notice about port binding and overriding of UFW to compose file reference

Proposed changes
I already work with Docker for a long time, but recently found out that binding ports will override / ignore UFW firewall rules. This leads to unwanted vulnerabilities if you restrict access to a specific port via UFW, add the port to a Docker compose setup and then find out that the whole world could access the app via the port because Docker manages his own iptables rules.
As this may lead to severe vulnerabilities, I added a notice to the ports config section of the compose file references. Nothing too heavy, just a short notice that bound port may be accessible even if blocked via UFW.
Currently, the information is kinda buried in the /network/iptables page.

Deploy preview for docsdocker ready!
Built with commit f93757d898181979b8a02c14e4a30525eb144f52
https://deploy-preview-9519--docsdocker.netlify.com

Deploy preview for docsdocker ready!
Built with commit eb68a35db4cfa6b3fa43385a751b731efca441ad
https://deploy-preview-9519--docsdocker.netlify.com

Any news on this?

Just noticed that this is still open. Will this ever be merged?

I'll close this now. Seems you are not interested in contributions.


API is down..

The API seems to be not working, getting an ENOTFOUND error.

Check #130

Check #130

Thanks, I got it.

@RishabhKodes Thank you, I appreciate it :)


Update Tabs to use new fragment syntax

This might be the case for multiple components, but it came up today that Tabs is currently using a containing div to wrap it's markup. With the update to React 16, we can instead return a React Fragment so that we don't need the containing div node. This issue is for the implementation of this update.

addressed in https://github.com/IBM/carbon-components-react/pull/1232


nimble/porting: Make os_mbuf/os_mpool work on 64-bit.

We're using NimBLE in MicroPython and do much of our testing on (64-bit) Linux. @dpgeorge
Similar to #96 (@turon). Please see commit messages for details.
@KKopyscinski / @sjanc should I try and get this fixed in mynewt-core instead?

Yes, lets fix it in core and then resync here.
In general I think we should simply start using uintptr where needed (although mynewt was/is 32bit os only).

Thanks -- I'm not too familiar with mynewt (outside of NimBLE). Do you want me to follow this up or is this best left up to the maintainers?

Could you explain why is this needed? (AFAIR initially it was like that to allow multiple initialization while executing tests)

I'm not too fussed either way, but I noticed that nothing in NimBLE calls os_mempool_module_init and there's no declaration for it in any header files. So this change seems like the safest way to prevent implementors missing it.


WIP: realtime API stub

Description
This PR fixes #
Notes for Reviewers
Signed commits

[ ] Yes, I signed my commits.

Just for reference, openai-realtime-console seems quite nice for testing things out especially at this stage, I've opened up a PR upstream to include a Dockerfile and instructions on how to use it with a local server: https://github.com/openai/openai-realtime-console/pull/59

whats best option here if we want to contribute just make forks of the branch and PRS against this?

whats best option here if we want to contribute just make forks of the branch and PRS against this?

Yes, that would work just fine!

things left:

handling conversations templating (like we do in chat.go, this a good opportunity to do some code extraction)
add a VAD backend, or embed directly VAD in the current golang code. having a backend would make it modular and re-use part of the existing code base
Add Audio-to-Audio backend
Hook the model interface to the various Backends functions, and update the wrapped model so it works when emulating an Audio-to-Audio model (by running things in a pipeline: SST -> LLM -> TTS) instead of Audio-to-Audio

Currently at creating the VAD backend with silero, attach it to the compilation process and to the binary releases


feat: Update editor settings

What problem does this change solve?

What problem does this change solve?

Solves the problem of the preview mode disappearing if you disable the settings in the markup


Horse mounting bug

I love the mod and it used to work great but after the new update it won't let me mount any horses to tame them and I'm pretty sure the problem isn't my device because none of my other mods are lagging and it's definetly not my server because i tried it in single player mode with no other mods in a different server and it still wouldn't work. I tried updating it and updating creatura but no luck.

Exact same thing is happening to me and my server.

Should be fixed


suggestion: hardening the forget command (avoid prune abuse)

We'd like to implement a backup workflow which is as secure as possible.
We have a backup server which uses rsync to pull the restic backup which is created locally on the live server. This way we can have a separate backup location while owners, permissions etc. are still stored with the data, and we don't have to open SSH on the backup server for the restic push. A separate and safe backup location, we really like this concept.
There's one question left though: is there any way we can avoid data loss by some user abusing the forget command of restic? (eg by pruning most/all of the snapshots). As the password is stored on the server, the risk of a sabotage is high, isn't it?
We can ofcourse tell rsync not to remove files on the backup server during sync, but I guess that won't help much against forget: as the indexes will change, we will lose the "connection" to the orphaned blobs in the filesystem.
We can easily run integrity/consistency check to detect if something was physically deleted from the repo - in that case we won't sync that to the backup server. However the forget command is not a simple physical deletion, that's exactly why it's a risk.
Our best idea/suggestion is having an option to hardcode the policy attributes (keep parameters) during repo init into the configuration, and make it non-changeable and non-overrideable by command line parameters. If the policy needs to be changed, users should create a new repo this way - maybe there's a better solution for that, but we've found it to be a fair compromise.
We were also thinking of alternative solutions (like monitoring the list of snapshots) but most of them were just too fragile.
What do you think?

Hi, thanks for contributing this question and usage scenario. Let me summarise what I understood so far: Server A runs restic to create a backup in a local repository and this repository is copied via rsync to a central backup server B (via pull, a process running on the backup server logs into the server and no the other way around).
You are concerned about "a user" abusing the forget command. Who is that, exactly? What's the scenario you're expecting? Attackers who gained access to server A? Or B? Or both?

You're right about the server setup.
Think of a web server hosting the entire software stack of a business and a group of developers having access to it (=server A). The developers have r or rw access to many things on the server: logs, /etc configuration and so on. As restic runs on this server, they may find a way to access the backup repo too.
Server B (backup server) is the black box of the business: a very secure server in a remote location, only one or two users has access to it.
The use case is that a user has (or gains) access to server A, finds the repo password on the server (stored in configuration or envvar somewhere), and removes snapshots from the backup to hide traces of malicious activity (might be a coworker with bad intentions), or even destroy the business by deleting server A and emptying the backup repo too using forget.
As rsync will blindly pull the shrunk backup repo to server B, there'll be no other way to protect the backup history (creating complete copies is on server B is not an effective option - that's exactly why we'd use restic in the first place).
We'd like to build a setup where no user can tamper a backup repo. Currently forget is the only entry point where the user can easily do this without even losing backup integrity/consistency.
(As a workaround we were even thinking of using another restic repo on server B too to store the rsync'd backup repo files... That sounds pretty sick though. That's 3x the backup size too - the original repo on server A, the rsynced copy on server B and the new repo created on server B).

This reminds me of S3QL, which has "Immutable Trees": Directory trees can be made immutable, so that their contents can no longer be changed in any way whatsoever. This can be used to ensure that backups can not be modified after they have been made.

I'm sorry to say that but: I don't think that restricting the forget command will help at all. If attackers (e.g. a malicious coworker) with access to the server can run restic means that the attackers already have write access to the local repository (otherwise restic wouldn't be able to store files there). Even without the password for the repository, as long as the attackers can remove files, they can just empty the snapshots directory and remove all files there. Or the data directory. After all, that's what restic does when forget and prune is run.
I think this isn't solvable with a local repository if you assume an attacker that has the same privileges as the restic  binary on the machine. On the other hand you can use the sftp backend to save a backup and on that server configure (e.g. via cron) the file permissions so that the user the restic process is logging in cannot remove files for all directories except locks. This way, new data can be added, but no data can be removed (except lock files).
In this scenario, you can run forget and prune either locally on the backup server (that'd need the password there, though), or from another, more trusted machine which uses a different user to log into the server via sftp and has write/remove permissions on the repo files.
Am I missing something?

In my opinion it's not about to prevent an attacker from changing any data on server A (you can't) but about detecting corrupt backups / attacks before they override important data on server B.
I would rather suggest some monitoring of the data / snapshots in server B. You could have a 3rd copy of the restic repo on server B. After reach RSync you make a diff between the 3rd copy and the just synced data. Only if "restic check" is successful and no important snapshots got removed on the just synced restic repository you refresh the 3rd copy. If anything goes wrong you notify the Admins of server B.
This way no attacker can ever do harm to your system, since no one can manipulate the 3rd copy in a harmful way without you getting noticed. Plus you get noticed in case of an attack.

I'm going to close this issue since I don't think restricting the forget or prune command will help here. Please fell free to add comments. We can also reopen the issue at any time.


Bump :editor evil

Fixes this issue, fixing evil-kill-on-visual-paste option

Thanks for the PR, but I already had a commit to bump the whole evil module which I hadn't pushed yet. Thanks for bringing it to my attention however!

No problem, thank you


Meaning of root_d in output

Hello,
Thank you very much for your contribution。
Can you tell me the meaning of root_d in output when I run a single picture?
Does he mean the distance between people and the camera？

see here


Typescript issue (solves deleting internal index.d.ts)

This thing It's a bit annoying, how to standardize/solves?
[ts]
Type '{ activeSection: boolean; sections: { title: string; content: string; }[]; renderHeader: (section...' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<Accordion> & Readonly<{ children?: ReactNode; }> &...'.
  Type '{ activeSection: boolean; sections: { title: string; content: string; }[]; renderHeader: (section...' is not assignable to type 'Readonly<AccordionProps>'.
    Property 'renderSectionTitle' is missing in type '{ activeSection: boolean; sections: { title: string; content: string; }[]; renderHeader: (section...'.
(JSX attribute) duration: number

PS. 	// tslint:disable was just a try.

Sorry about that, just made a fix in https://github.com/oblador/react-native-collapsible/commit/cb934c53495bb5eec215bd7e8311ed6b6f02d8b7. Will post version in couple hours.

Released in 0.11.1


Sticky table column

In a responsive table, with lots of columns, it's often desirable to make the left-most column sticky, so it doesn't scroll off the page. I think this should be an option within bootstrap, in the same way that we can make the  sticky. Sometimes, both the top row and left-col need to be sticky.
Here is how we do it at the moment: note that it seems to work "perfectly" in Chrome, but is broken in Firefox.
/* Sticky first column. NB Firefox Bug #1658119 means that we lose the td-borders! /
table.sticky-x tr td:nth-child(1){
position: sticky; left: 0; z-index: 10;
background-color: #fff;  / Must set a color explicitly, else it is transparent to the text that scrolls by underneath /
}
table.sticky-x tr th:nth-child(1){
position: sticky; left: 0; z-index: 10;
}
table.sticky-x thead tr th:nth-child(1) {  / top-left corner never moves - and we don't override the existing th-color either. /
position: sticky; left: 0; top: 0; z-index: 12;
}
table.sticky-x.table-striped tr:nth-of-type(odd) td:nth-child(1) {
background-color: #f2f2f2;   / restore table-striped */
}
Thanks.

@RichardNeill Your code is not broken on even Firefox, I've tested it on Firefox 79.0. On even Safari and Chrome, It still works nicely.

Hi and thanks.
The problem in firefox is not that the "sticky column" doesn't work, rather it is that the borders within the sticky first column disappear. https://bugzilla.mozilla.org/show_bug.cgi?id=1658119  includes a test-case and a workaround.
More generally, a good solution for tables (and which I'd love to see in Bootstrap) would be to allow any combinations
table-sticky-header:   sticky header  (when scrolling vertically)
table-sticky-left:   sticky 1st column (when scrolling horizontally)
table-responsive-sticky:   table-responsive working with sticky-header.
The major challenges here are:

Table borders don't always go with the sticky cell, but seem to be part of the layer beneath. It's necessary to bodge it with box-shadow instead.

If the table is responsive horizontally, then it cannot be sticky vertically (this is a limit from CSS, though it should be doable).
Therefore, some JS is probably needed.

It would be helpful if, when sticky behaviour is actually happening, a "stuck" class could be dynamically added.

As an update, below is my current best CSS. But it hardcodes the box-shadow colours, and it doesn't solve the sticky-responsive problem.
/* Sticky tables. Use ".sticky" and ensure we have  section (recommended: ".thead-dark"). */
table.sticky thead tr:nth-child(1) th{
position: sticky; top: 0; z-index: 10;
box-shadow: 0 0 0 1px #ddd;
}
/* Sticky first column.  NB Firefox Bug #1658119 means that we lose the td-borders! Fudge it with box-shadow; this isn't perfect. See: https://stackoverflow.com/questions/40760241/sticky-row-and-column-header-in-table /
table.sticky-x tr td:nth-child(1){
position: sticky; left: 0; z-index: 10;
background-color: #fff;  / Must set a color explicitly, else it is transparent to the text that scrolls by underneath. c.f. "wholly" */
box-shadow: 0px 0px 0px 1px #ddd, 2px 0px 0px 0px #444;     /*Or:  box-shadow: 0 0 0 1px #ddd; /
}
table.sticky-x tr th:nth-child(1){
position: sticky; left: 0; z-index: 10;
box-shadow: 0px 0px 0px 1px #ddd, 2px 0px 0px 0px #444;
}
table.sticky-x thead tr th:nth-child(1) {  / top-left corner never moves - and we don't override the existing th-color either. /
position: sticky; left: 0; top: 0; z-index: 12;
box-shadow: 0 0 0 1px #ddd;
}
table.sticky-x.table-striped tr:nth-of-type(odd) td:nth-child(1) {
background-color: #f2f2f2;   / restore table-striped */
}
/* Vertical striped tables */
table.table-striped-columns {
tbody td:nth-of-type(odd), thead th:nth-of-type(odd){ background:#f2f2f2; }
}

Bug reports must include a live demo of the issue. Per our contributing guidelines, please create a reduced test case via CodePen or JS Bin and report back with your link, Bootstrap version, and specific browser and Operating System details.
This is an automated reply

I hope this helps.
https://codepen.io/RichardNeill/pen/bGePxpO
This test case works well enough that I use it on production, but it is very ugly in how it does so.,
What I would like to propose is that bootstrap simply offer 3 more table classes:

"table-sticky" (which makes the top-row sticky) - and should also not conflict with div.table-responsive if this can be managed.
"table-sticky-x" (which makes the left col sticky)
"table-striped-columns" (which does vertical striping)

@RichardNeill For the concern that you raised regarding the border not showing on the firefox browser can be solved by adding border-collapse: separate; border-spacing: 0;

Michelle Barker has a different solution to the border problem using pseudo-elements. This works slightly better for me in Firefox than the border-collapse: separate; style.
https://piccalil.li/blog/styling-tables-the-modern-css-way#sticky-rows-and-columns


fix: Improve retry mechanisms for split pdf logic

Ah, one sec, we may need to hardcode our retry values in here - let me look.


chore(toggle thumbnails): use localstorage for toggle

SUMMARY
This is follow up for toggle thumbnails for homescreen to make the listviews show thumbnails based off homescreen toggle.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
https://user-images.githubusercontent.com/17326228/113974491-e1235100-97f2-11eb-9524-808d7f44b4d4.mov
TEST PLAN
enable feature flag THUMBNAILS = True
check each listview for toggle of thumbnails
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

When thumbnail IS enabled, the default is still card view, can we make it consistent, default to list for all time? @pkdotson

My understanding is that the selection of list/cards should be set via LISTVIEWS_DEFAULT_CARD_VIEW and decoupled from the thumbnail feature flag (THUMBNAILS).

please note: currently view is not sticky. after user switch from list to card view, and refresh, it lands on list view again. that should be the expected behavior as well.

As I understand from the title, the "stickiness" is the point of this PR... the description could probably be clearer on this the intent, and the testing steps). If the view setting is not being saved/retrieved here, then something may be wrong.

/testenv up FEATURE_THUMBNAILS=true

/testenv down

/testenv up FEATURE_THUMBNAILS=True

label:2021.13

:label:2021.13

:label:2021.13


Add UME and Branson to hpc disk image

Here's a link to the disk image: https://github.com/kroarty-lanl/gem5-resources


[BREAKING] Permission consistency

Please describe the changes this PR makes and why it should be merged:
This pr changes all Permissions to Permission type allowing users to have 1 form to interact with the lib in a consistant manner and still keeping all th ebenefits. Note this will actually improve it as u no longer need to import the Permissions enum.
Status

[ ] Code changes have been tested against the Discord API, or there are no code changes

Semantic versioning classification:

[ ] This PR changes the library's interface (methods or parameters added)

[x] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)

[ ] This PR only includes non-code changes, like changes to documentation, README, etc.

Review/Merge only after #201 is complete


Add an API on MTRDevice to wait for attributes to reach certain values.

Fast-tracking platform-specific fix with platform owner review


Cluster creation through API call using cluster templates for which users have no access should not be allowed

Version: Master-head
Steps:

Create a cluster template T1/R1 as admin with AD auth enabled
Login as testuser2 who does not have access to template T1
Create a cluster through API call using the template id of T1
Cluster creation succeeds with out any error.

curl --insecure -u "token-cmptg:2b65nq9hc9s22dnl8jllb2s88" -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"amazonElasticContainerServiceConfig":null, "answers":null, "azureKubernetesServiceConfig":null, "clusterTemplateRevisionId":"cattle-global-data:ctr-nlmlh", "dockerRootDir":"/var/lib/docker", "enableClusterAlerting":false, "enableClusterMonitoring":false, "googleKubernetesEngineConfig":null, "localClusterAuthEndpoint":null, "name":"testntemp1", "rancherKubernetesEngineConfig":null, "windowsPreferedCluster":false}' 'https://abcd/v3/clusters'

Cluster creation through API call using cluster templates for which users have no access should not be allowed

Tested with build from master-head(410f7aa09388) .

Create a cluster template T1/R1 as admin with AD auth enabled
Login as testuser2 who does not have access to template T1
Create a cluster through API call using the template id of T1

Cluster creation fails as expected
curl --insecure -u "token-cmptg:2b65nq9hc9s22dnl8jllb2s88" -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{"amazonElasticContainerServiceConfig":null, "answers":null, "azureKubernetesServiceConfig":null, "clusterTemplateRevisionId":"cattle-global-data:ctr-nlmlh", "dockerRootDir":"/var/lib/docker", "enableClusterAlerting":false, "enableClusterMonitoring":false, "googleKubernetesEngineConfig":null, "localClusterAuthEndpoint":null, "name":"testntemp1", "rancherKubernetesEngineConfig":null, "windowsPreferedCluster":false}' 'https://abcd/v3/clusters'

{"baseType":"error","code":"NotFound","message":"The clusterTemplateRevision is not found","status":404,"type":"error"}


Fix dependabot automated updates

Dependabot should ideally do something like:

Bump lib/ crates anytime for security releases.
Bump lib/ crates on a monthly basis for regular releases.
Bump t/lib/ crates on a monthly basis for regular and security releases.
Bump .github/ actions on a monthly basis for regular and security releases.

But currently, none of our configured dependabot rules seem to be working.

Fixed with #647 (in the limits of what dependabots currently proposes, see dependabot/dependabot-core#4364).


Contact.update! stopped returning 404 when contact does not exists

If you delete spec/fixtures/vcr_cassettes/contact_update.yml, the spec Contact #update when the request is not successful will fail.
This is because hubspot stopped sending 404 errors with html when the contact is not found.
Instead, we get a HTTP 200 OK response (which is at least different from the HTTP 204 no content we get when it works).
I created a subject on the hubspot forum.

It seems to be the same for deals, except that deal update will always return a 200 (successful or not...)

Actually, it does work if we send an integer as vid (old tests cases sent strings like invalid).
I'll correct my PRs.
If you need examples:
With a string, sends 200
$ curl -X POST -H 'Content-Type:application/json' --dump-header - "https://api.hubapi.com/contacts/v1/contact/vid/invalid-not-existing-blabla/profile?hapikey=demo" -d '{"properties": []}'
HTTP/2 200
date: Fri, 20 Jul 2018 08:29:39 GMT
content-length: 0
set-cookie: __cfduid=d1568037d77156ec42e77958d8df0da971532075379; expires=Sat, 20-Jul-19 08:29:39 GMT; path=/; domain=.hubapi.com; HttpOnly
access-control-allow-credentials: false
x-trace: 2B3F461642A8BD2ABB22CBACEF4ECEDF38D04CA5C3000000000000000000
strict-transport-security: max-age=31536000; includeSubDomains; preload
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
server: cloudflare
cf-ray: 43d40fb1af85a8cf-CDG

With an int, sends 404.
$ curl -X POST -H 'Content-Type:application/json' --dump-header - "https://api.hubapi.com/contacts/v1/contact/vid/1/profile?hapikey=demo" -d '{"properties": []}'
HTTP/2 404
date: Fri, 20 Jul 2018 08:31:27 GMT
content-type: application/json;charset=utf-8
set-cookie: __cfduid=d0a315f7a6872286a9e2a4c052813099e1532075487; expires=Sat, 20-Jul-19 08:31:27 GMT; path=/; domain=.hubapi.com; HttpOnly
access-control-allow-credentials: false
vary: Accept-Encoding
vary: Accept-Encoding
x-hubspot-notfound: true
x-trace: 2B970C62A842799012AD070EBE4C5BC90CBE4A9AAA000000000000000000
strict-transport-security: max-age=31536000; includeSubDomains; preload
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
server: cloudflare
cf-ray: 43d41251c876a863-CDG

{"status":"error","message":"resource not found","correlationId":"ddd8352b-faf6-4f18-a7f7-3e543277972d","requestId":"51b20027fe5eea3692221ca8717b50b3"}


Grid items do not stretch to defined width when using columns centered.

<div className={classes.root}>
  <Grid container gutter={24} direction="column" align="center">
    <Grid item xs={6}>Hi</Grid>
  </Grid>
</div>

I would like the Grid Item element as defined above. to stretch to Grid 6 width, but it does not.

Please follow the issue template with a reproduction live example.


Documenting the Documentation

Create docs/README.md
Add a stating guide on how documentation works in this project and how to
setup Sphinx locally.
Update Sphinx
Add sphinx-autobuild

On windows, I had to install the sphinx_rtd_theme manually, pip install sphinx_rtd_theme

Thanks! This looks really good to me. I'll merge this for now so that others who write documentation can profit.
In case we need to change something, please do this in a follow-up PR.


Broken in newer versions of Firefox

I'm using the developer edition of Firefox which is on the Aurora channel. The extension doesn't appear to display correctly in the most recent version 44.0a2 (2015-11-17).

Seems totally fine in the release channel though (42.0)

Thanks for the report.
I am aware of this issue. The Firefox devtools team have changed all the internal paths for the devtools assets in Firefox 44, which breaks everything. I'm working on a temporary fix which should allow the extension to run correctly in both pre and post 44 releases.
Once 43 is old enough I'll make the extension require version 44 and above.

Ok, that's cool. I had heard that 43 and 44 broke a lot of stuff. It still works great in 42 and Chrome so that's a plus.
Awesome extension btw! I've ditched the old one I used to use :)

Reopening this in case others notice this issue and want to add details


Genetics portal - create a dev google project

@afaulconbridge commented on Tue Oct 16 2018
Currently both dev and production for the genetics platform is running in the same google cloud project.
For safety and maintainability, we should migrate the production components into a new project open-targets-genetics-dev.
This includes:

[ ] clickhouse / elasticsearch image
[ ] clickhouse / elasticsearch instance groups (one per region)
[ ] clickhouse / elasticsearch internal load balance (one per region)
[ ] api instance templates
[ ] api instance groups (one per region)
[ ] global load balancer

Ticket closed as open-targets-genetics-dev Google project already used to support dev instances of Genetics Portal and broader Genetics Team research activities


Android Basics: tip-calculator

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-training-tip-calculator?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-kotlin-unit-2-pathway-1%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-training-tip-calculator#2
In which task and step of the codelab can this issue be found?
Enable view binding
Open the app's build.gradle file ( Gradle Scripts > build.gradle (Module: Tip_Time.app) )
In the android section, add the following lines:
buildFeatures {
viewBinding = true
}
Note the message Gradle files have changed since last project sync.
Press Sync Now.
aa49f2389f1d1b19.png
After a few moments, you should see a message at the bottom of the Android Studio window, Gradle sync finished. You can close the build.gradle file if you want.
Describe the problem
After I press sync now, there is error which said:
Could not find method buildFeatures() for arguments [build_6hbjfzkgik4klt1kynznmzit6$_run_closure1@55a48724] on project ':app' of type org.gradle.api.Project

Steps to reproduce?

Go to...
Click on...
See error...

Versions
Android Studio version:
API version of the emulator:
Additional information
Include screenshots if they would be useful in clarifying the problem.

Not reading this clearly:
In the android section, add the following lines:


Update requirements.txt

I have tested it can work in latest versions of requirements.txt. So I update requirements.txt to make it work.

These are the latest versions - everything in here is updated with the help of dependabot.
The minor version pinning is here for a reason.
If you need a different version set, you can always manually override it in your setup, but for the general public this needs to stay pinned as it is.
See https://www.easypost.com/dependency-pinning-guide for an explanation why >= isn't the best idea.


Replace web.database with psycopg2

I think we should replace our DB connection layer to use psycopg2 pooled connections and remove all trace of the old web.database access layer.

Manage our own connection pool as in ERMrest and Hatrac
Add prepared statements for frequent operations in the hot-path, particularly for authenticating requests within existing sessions

If we start using mod_webauthn in the hot-path and it does caching, this seems less worthwhile.


I misread the config, this is added.


fix get alerts inhibition issue in webportal

Fix issue #5108

Coverage remained the same at 34.095% when pulling 6ca18f17a53ec34c4eeda081e0e895e92036d20b on suiguoxin:inhibit into bf41920d6d7319e310760df5b9ad1bb4a1531241 on microsoft:master.


Cookies stored in session when consent-cookie-options but expirationDate not defined

If you set the consent-cookie-options option but not define 'expires' the cookie gets stored in the session.
See: https://github.com/jvandemo/angular-consent/blob/master/dist/angular-consent.js#L56

@lkappeler — Just released v2.1.1 with a fix. Thank you for reporting!


[RFC][Translator] Possibility to change the location where the translations are created.

Hi, thanks for this amazing package !
Is it possible to change the location where the translations are created ? By default, this is in the var/translations folder. By default, I exclude the folder var in my PhpStorm configuration, so I had to do an exception for this one to be able to have code completion in my JS files.
It could be a great feature if we could use a command with a friendly syntax like the FosJsRoutingBundle for instance:
php bin/console symony:ux:translator:dump --target=assets/js/translations

Hi, it's not documented, but you can configure ux_translator.dump_directory option
Would you mind to open a PR to improve the documentation? 🙏🏻
Thanks :)

Thanks for the tips ! I’ll be glad to do it tomorrow 👍🏻


RTL Support

Hi.
Hello, can you please give me some solution for RTL support.
setLayoutDirection didn't solve it.
Thank you.

Implemented in 1.1.1 version.


[Feature Request] Only display nameplates on hover

You can use WTHIT and disable the nametags above the entities in the nameplate config :)


What is _mask for in GaussianModel?

Now I know that the segment is to remove the background point clouds. However, I find the following code (see
https://github.com/Jumpat/SegAnyGAussians/blob/96e5021f2544af95e7705f91ecd8db6bb5cba381/scene/gaussian_model.py#L423 ) hard to understand:
self.segment_times += 1
tmp = self._mask[self._mask == self.segment_times]
tmp[mask] += 1
self._mask[self._mask == self.segment_times] = tmp

where,  I think segment_times records the times of doing segments. But is _mask not a binary mask as mask in this function? how is it comparable with segment_times? Or, what is _mask for in GaussianModel?

This _mask is designed for the SAGA GUI to support interactive segmentation, specifically, the Undo operation. _mask is a counter to trace the current segmentation state and save the previous states.


o365 Group linkage incorrect

Deleting workspace V1 also deletes Office 365 groups.
It wasn't a major incident because we were able to restore from the deleted one, but please correct it because the material is wrong.

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

ID: 19005ba4-1b45-4a5e-2335-3408eaaffbf5
Version Independent ID: 3587ce6f-8a2f-34c4-e00b-c28985833249
Content: Manage your workspace in Power BI and Office 365 - Power BI
Content Source: powerbi-docs/service-manage-app-workspace-in-power-bi-and-office-365.md
Service: powerbi
Sub-service: powerbi-service
GitHub Login: @maggiesMSFT
Microsoft Alias: maggies

Hi, @v-taitani -- sorry to hear it, glad it worked out. I'll check and get back to you.

Good point! I've updated the article. The change will go live tomorrow.

I confirmed that the [en-us] page has been corrected.
Unfortunately, the Japanese page [ja-jp] was left untouched.
Thank you for your continued support.

Hi, @v-taitani -- you're right, localization of content changes is not instant. The Japanese page will be updated soon. Thanks!

Hi @maggiesMSFT
Thank you for your response.
I look forward to that time.

Clicking on Members in Step 2, redirects to outlook office 365 site (which isn't configured). So the link is actually broken. What causes this configuration ? or how to manage members?


Add .php_cs file support to php-cs-fixer beautifier

What does this implement/fix? Explain your changes.
Add .php_cs file (php-cs-fixer config file) support to php-cs-fixer beautifier.
...
Does this close any currently open issues?
Yes, #564
...
Any other comments?
1- I was added a findFile method, i think we can use this method in other beautifiers which support config file (e.g. rustfmt beautifier).
2- I think will be better if you chose a same coding style guild for all coffee files.
...
Checklist
Check all those that are applicable and complete.

[x] Merged with latest master branch
[ ] Added examples for testing to examples/ directory
[ ] Travis CI passes (Mac support)
[ ] AppVeyor passes (Windows support)

Thanks for contributing! Before I can merge, please resolve the Travis CI failing tests: https://travis-ci.org/Glavin001/atom-beautify/jobs/136434683
Thanks!

I think you can fix this now.

Awesome. Thank you for contributing!

Published to v0.29.8


added route file for events, added view htmls routes for app to html…

…-routes at bottom

Sara and I discussed changes for field values and updated files accordingly.


Ship dokan1.dll

Given that applications are supposed to have their own copy of dokan1.dll, I am wondering whether the nuget-package should ship dokan1.dll or whether there should be a separate nuget-package or vcpkg-package with dokan1.dll that the .NET nuget-package depends on.
What are the best practices regarding this? What do other C# libraries with dependencies on C-libraries do?

Hi @Rondom ,
From my experience, nuget has never been really great to handle native dependencies. It is possible but feel more like a hack than a nuget feature.
https://stackoverflow.com/questions/40104838/automatic-native-and-managed-dlls-extracting-from-nuget-package
Also if we do this, it means that we would need to update the packet each time there is a new version of dokany even if the API/C# Wrapper did not change and still work.
After if there is a real request from the community, I would understand it and I would be alright to make it happen.

I think the question is, "can we reasonably expect developers to have Dokan installed on their machines?" If people get it from nuget, I think it's safe to say "no, we can't." But on the flip side, if they try to run their code even in the presence of the DLL but without the driver, they won't get too far either. Would it be reasonable to put the requirement ("You must have Dokan installed, or else your filesystem will not load due to a missing DLL") in the license or other information dialog box that can optionally pop up when the Dokan.Net nuget package is installed?

This can be an idea ! I do not know if it is possible at the nuget install to detect the presence of a dll (dokan1.dll).

Please remember that Init.ps1 needs to be separately signed in order to operate on machines with the default PowerShell security profile.

I'm thinking this will prevent the exception DokanNet.DokanException: 'Version error' if I try to use an old version of this NuGet package with a newer version of Dokany.

I'm thinking this will prevent the exception DokanNet.DokanException: 'Version error' if I try to use an old version of this NuGet package with a newer version of Dokany.


StoreClause: Clear Batches on Execute

Would it be possible to clear batches on execute, so that it's easy to configure when to flush? Currently we get OutOfMemoryError because of a large batch and the simplest course of action would be just to flush more often.

Some people might rely on having the batch data available after that, so maybe an explicit clear() method instead?

That's ok.


Memory layout of niftii file

Describe to Randal how niftii organizes data in memory.

update: @willgray + @gkiar to figure out how to store cutout offsets in niftii headers

OBE, irrelevant


Trouble in initial set up.

Hey there, I'm a beginner and I'm having trouble setting up.
import express from 'express';
import { apolloServer } from 'apollo-server';

import Schema from './schema';
import Resolvers from './resolvers';

const GRAPHQL_PORT = 3000;

const app = express();

app.use('/graphql', apolloServer({
  graphiql: true,
  pretty: true,
  schema: Schema,
  resolvers: Resolvers
}));

app.listen(GRAPHQL_PORT, () => console.log(
  `GraphQL Server is now running on http://localhost:${GRAPHQL_PORT}/graphql`
));

I've installed everything but I get this weird error:
app.use('/graphql', (0, _apolloServer.apolloServer)({
                                                   ^

TypeError: (0 , _apolloServer.apolloServer) is not a function
    at Object.<anonymous> (server.js:11:21)
    at Module._compile (module.js:541:32)
    at loader (/Users/Empyreal/WebProjects/knex-2/node_modules/babel-register/lib/node.js:158:5)
    at Object.require.extensions.(anonymous function) [as .js] (/Users/Empyreal/WebProjects/knex-2/node_modules/babel-register/lib/node.js:168:7)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)
    at Function.Module.runMain (module.js:575:10)
    at /Users/Empyreal/WebProjects/knex-2/node_modules/babel-cli/lib/_babel-node.js:160:24
    at Object.<anonymous> (/Users/Empyreal/WebProjects/knex-2/node_modules/babel-cli/lib/_babel-node.js:161:7)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)
    at Module.runMain (module.js:575:10)

I ran into the same problem. It looks like there were breaking changes from v0.1.5 to the current version (0.2.0-rc.1) that aren't yet covered in the tech preview docs. If you install v0.1.5, you should have better luck.

This is my setup with 0.2.0-rc.1, hope it helps ...
import express from 'express'
import cors from 'cors'
import bodyParser from 'body-parser'
import async from 'asyncawait/async'
import await from 'asyncawait/await'
import { apolloExpress, graphiqlExpress } from 'apollo-server'
import { makeExecutableSchema } from 'graphql-tools'
import schema from './server/data/schema'
import resolvers from './server/data/resolvers'
import config from './config'

// create express server
const app = express()

// use cors
app.use(cors())

// use bodyparser
app.use(bodyParser.urlencoded({ extended: true }))
app.use(bodyParser.json())

...

// graphql endpoint
app.use('/graphql', apolloExpress(async (req) => {
  const user = await getAuthenticatedUser(req)
  return {
    schema: makeExecutableSchema({
      typeDefs: schema,
      resolvers,
      allowUndefinedInResolve: true,
    }),
    context: { user } // add user to the context
  }
}))

// graphiql endpoint
app.use('/graphiql', graphiqlExpress({
  endpointURL: '/graphql',
}))

// start express server
app.listen(config.server.port, () => console.log(
  `==> GraphQL Server is now running on http://localhost:${config.server.port}`
))

@savovs @HriBB Guys, @rszewczyk is correct.  We made a mistake and released an RC version of the project to NPM.  We have fixed the problem and now when you npm install apollo-server you will get version 0.1.5 which is the working version.  Please make sure you use this version until we get the release candidate fully working and documented.
Sorry for any hassle this may have caused.

I believe this is fixed now. Feel free to re-open if it's still not working for you.

@helfer @nnance I'm still getting this error with a fresh install of apollo in a Meteor integration:
W20160810-06:05:07.119(-4)? (STDERR) TypeError: apolloServer is not a function
W20160810-06:05:07.119(-4)? (STDERR)     at createApolloServer (packages/apollo/main-server.js:21:34)
W20160810-06:05:07.120(-4)? (STDERR)     at meteorInstall.server.server.js (server/server.js:5:1)
W20160810-06:05:07.121(-4)? (STDERR)     at fileEvaluate (packages/modules-runtime/.npm/package/node_modules/install/install.js:153:1)
W20160810-06:05:07.121(-4)? (STDERR)     at require (packages/modules-runtime/.npm/package/node_modules/install/install.js:82:1)
W20160810-06:05:07.121(-4)? (STDERR)     at /Users/scott/Develop/Meteor/AdAbounds/.meteor/local/build/programs/server/app/app.js:89:1
W20160810-06:05:07.122(-4)? (STDERR)     at /Users/scott/Develop/Meteor/AdAbounds/.meteor/local/build/programs/server/boot.js:297:10
W20160810-06:05:07.122(-4)? (STDERR)     at Array.forEach (native)
W20160810-06:05:07.122(-4)? (STDERR)     at Function._.each._.forEach (/Users/scott/.meteor/packages/meteor-tool/.1.4.0-1.nv68bz++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11)
W20160810-06:05:07.123(-4)? (STDERR)     at /Users/scott/Develop/Meteor/AdAbounds/.meteor/local/build/programs/server/boot.js:133:5
W20160810-06:05:14.321(-4)? (STDERR) WARNING: npm peer requirements (for apollo) not installed:
W20160810-06:05:14.322(-4)? (STDERR)  -<EMAIL_ADDRESS>installed<EMAIL_ADDRESS>needed

It looks like the latest<EMAIL_ADDRESS>is incompatible with the apollo atmosphere package?

Meteor <IP_ADDRESS>
<EMAIL_ADDRESS><EMAIL_ADDRESS>

Look this: http://docs.apollostack.com/apollo-server/migration.html :)

Thanks @Grmiade. I guess I'm not 100% sure how this ties in with the apollo atmosphere package and the createApolloServer function.
I'm guessing the apollo atmosphere package still uses the old apolloServer ?
Right now, in my server.js I'm using the createApolloServer function:
import { createApolloServer } from 'meteor/apollo';
import { schema, resolvers } from '/imports/api/schema';

createApolloServer({
  graphiql: true,
  pretty: true,
  schema,
  resolvers,
});

Do you know if that no longer the recommended approach in a Meteor app?

I'm guessing the apollo atmosphere package still uses the old apolloServer?

Found the answer to the first question:
https://github.com/apollostack/meteor-integration/blob/master/main-server.js#L3

The answer to your question is on the last two lines:
W20160810-06:05:14.321(-4)? (STDERR) WARNING: npm peer requirements (for apollo) not installed:
W20160810-06:05:14.322(-4)? (STDERR)  -<EMAIL_ADDRESS>installed<EMAIL_ADDRESS>needed

The meteor integration currently only supports apollo server 0.1.x, but you have the backwards incompatible 0.2.x installed. You need to make sure you have the correct version of Apollo server installed.


Remove subtypes of wasGeneratedBy

These subtypes are not offering a semantic refinement and are being used as aliases for the underlying wasGeneratedBy relationship that should be used in place of these aliases.

I added this PR to Pre-Release 9 so we don't lose track of it if we want to get it into the next release.

GramaTech uses http://arcos.rack/TESTING#producedBy, SRI uses http://arcos.rack/SYSTEM#producedBy
I think this change is worth doing, but we'll want these teams to update their ingestion process not to use the subrelations.

@tuxji John, are these being generated automatically during the CI yet, or should we still build them manually and check them in.
(this is the IngestTemplateGenerator step that builds CDR's)

Not yet.  I will start making the changes needed to generate the nodegroups automatically.


Getting asked for  a "code"

How does one configure the "code"?
>>> api = YahooFantasyApi(l, game)
https://api.login.yahoo.com/oauth2/request_auth?redirect_uri=oob&response_type=code&language=en-us
Enter code: 76f478fe82dcdf88c8b2de3d5dc283374a80ea04
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/cfrugard/.local/lib/python3.6/site-packages/yfantasy_api/api/api.py", line 45, in __init__
    self.auth_service = AuthenticationService()
  File "/home/cfrugard/.local/lib/python3.6/site-packages/yfantasy_api/api/auth.py", line 51, in __init__
    self.__set_tokens()
  File "/home/cfrugard/.local/lib/python3.6/site-packages/yfantasy_api/api/auth.py", line 95, in __set_tokens
    self.__get_tokens()
  File "/home/cfrugard/.local/lib/python3.6/site-packages/yfantasy_api/api/auth.py", line 108, in __get_tokens
    self.__access_token = requested_tokens[ACCESS_TOKEN]
KeyError: 'access_token'

In order to use this library locally, you need to create an application with Yahoo to retrieve a Client ID and Client Secret (see here).
Once you've obtained those values, save them as environment variables named CLIENT_ID and CLIENT_SECRET respectively. Once that's done, the url outputted above will contain your id and secret and should prompt you to login to Yahoo and then display a code for you to enter.
The whole code prompt should only be required once. The resulting access token is stored and will be automatically refreshed (with the refresh token) as needed.

Excellent.  Silly clarification, but you need to go to the link manually, grab the code, then enter.  Thank you!


CMD+S doesn't save the client view

Like other areas of MODX they keyboard shortcut CMD+S saves the current view, I think it would make sense for Client Config to have the same behaviour.

Implemented in 1.4


Support Page Environment dynamic properties on PropertyPanePropertyEditor

Category

[x] Enhancement
[ ] Bug
[ ] Question

Version
Please specify what version of the library you are using: [2.3.0]
Expected / Desired Behavior / Question
Right now all DynamicProperty settings are ignored on import. For WebPart ones it might make sense as id's are changing. For PageContext ones they should work as they exist everywhere.
https://github.com/pnp/sp-dev-fx-property-controls/blob/master/src/propertyFields/propertyEditor/PropertyPanePropertyEditorHost.tsx#L46
We would like to use this for the PnP Modern Search web parts, at least for scenarios where page context dynamic data is consumed.
Observed Behavior
PageContext dynamic properties are being ignored on Apply when importing web part properties.
Steps to Reproduce
Import settings with dynamic data and they are not set.

Hi @wobba,
Thanks for reporting this one.
There was an issue that dynamic properties are causing issues. So, we disabled them.
I'll take a look if I can come up with some alternative approach.

@wobba I've implemented the change.
Could you please test it in beta version?

@AJIXuMuK sure thing - I'll let you know.

@AJIXuMuK works like expected :) Thank you.

v2.4.0 has been released.


Add global constant YII_DEBUG_VERSION

This will allow us to check for existing Yii Debug in app. Also we will can check Yii Debug version via compare_version().
Constant may be used in package configurations instead of params, for example here: https://github.com/yiisoft/yii-view-renderer/blob/master/config/events-web.php
Constant may be defined in PHP file that include via "autoload" section in Composer.

check for existing Yii Debug in app

What's the reason for it?

check for existing Yii Debug in app

What's the reason for it?

I was supposed to use it to add collectors, but existence is not enough, need check enabled also.
Constant may use to check whether code in package support current version Yii Debug or not.

Package implemented collector must depend on specific version of yii-debug to check compatibility.
Collectors must be loaded by Debug, not from userland

We don't can add dependencey from yiisoft/yii-debug to our packages.


[UI] Improve the navbar ui in mobile

Description
Navbar Ui could be improved in mobile view.
Current Behavior

Navbar close button not completely visible in mobile view.
Nav button should be highlighted. so that users can understand which page they are on.

Proposed Behavior

Could you please assign me this issue under gssoc-ext and hacktoberfest.

i would love to work on this project. please assign it to me

@roushan-code assigned!


Change URLconfs & sitemaps from site.objects.get_current() to request.get_hosts()

To complement the changes I've made to views.

Affected files are as follows:
/brubeck/core/templatetags/core.py
/brubeck/games/urls.py
/brubeck/blogs/sitemap.py
/brubeck/podcasts/sitemap.py
/brubeck/publishing/urls_sections.py


[Bug]: can not install client on windows 10 with no error code

Application
Outline Client
Describe the bug
When trying to install the Outline client, the following error occurs:

I'm not getting any error codes.
If, after such an installation, you log into the client and try to connect to the server, you receive the following message: "Administrator rights are required to run Outline. If you don't have them, restart your computer and try again, or contact your administrator.". But when running with administrator rights, nothing changes. After the "unsuccessful" installation, no new network adapters appeared.
I tried a solution from this topic - https://github.com/Jigsaw-Code/outline-apps/issues/1007.
I manually ran the add_top_device file.bat, after an unsuccessful launch, renamed the adapter that appeared to outline-tap0 and then ran add_tap_device.bat again.
The installation and configuration was successful. As a result, I got a Tap Windows Adapter V9 named Outline-tap0. But after launching the client, nothing changed and problems appeared that were from the very beginning.
It's also very strange that I couldn't run add_tap_device.bat via powershell with administrator rights or by simply clicking on the file. I was given an error that the system could not find this file, although that was what I was trying to run. It was possible to run it only through the cmd command line with administrator rights. At the same time, on the laptop on which the client is also installed, the add_tap_device file.bat runs smoothly if you just click on it. Maybe it has something to do with my problem.
I also tried to install various old versions of the client, but the same error was everywhere.
I have not been able to solve this problem for a very long time and have tried a lot of different solutions, but nothing has helped. Please help me
Steps to reproduce

Try to install the client
Get the error as in the screenshot

What did you expect to happen?
No response
What actually happened?
No response
Outline Version
1.13.1
What operation system are you using?
Windows
Operating System Version
No response
Screenshots and Videos
No response

Marking as dupe of #1103


systemdMinimal: re-enable kmod integration

Description of changes
This is a #224421, but against staging instead of the master.
My previous attempt to slim things down for systemdMinimal in #217249 ended up breaking the Mobile NixOS use case, as it uses udevd from the systemdMinimal package. Re-enabling the withKmod attribute to address this problem. Thanks @lheckemann for point this out 🙇🏻♂
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[x] ~For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)~ using NixOS
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

👋🏻 @Artturin done.

Thanks!


bs-fetch (POST, with url and port)

I am trying to modify client program that currently fetches a relative url without port, (POST).
first parameter to the fetchWithInit() is "/graphql"
  Bs_fetch.(
    fetchWithInit(
      "/graphql",
      RequestInit.make(
        ~method_=Post,
        ~body=
          Js.Dict.fromList([
            ("query", Js.Json.string(q##query)),
            ("variables", q##variables),
          ])
          |> Js.Json.object_
          |> Js.Json.stringify
          |> BodyInit.make,
        ~credentials=Include,
        ~headers=
          HeadersInit.makeWithArray([|
            ("content-type", "application/json"),
          |]),
        (),
      ),
    )

This works but it sends the request to http://localhost/graphql  (which is not where I want the request sent to). The payload body is fine.
POST http://localhost:8080/graphql HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 93
Accept: application/json
Origin: http://localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36
Content-Type: application/json
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Referer: http://localhost:8080/graphql
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,he;q=0.8,yi;q=0.7
Cookie: _ga=GA1.1.342987397.1557346139; com.wibu.cm.webadmin.lang=en-US

{"query":"query {\n  todos {\n    id\n    title\n    completed\n  }\n}\n\n","variables":null}

But when I modify this url to be absolute and have a port, I don't have a body anymore, what gives?
OPTIONS http://localhost:8080/graphql HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Access-Control-Request-Method: POST
Origin: http://<IP_ADDRESS>:5500
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36
Access-Control-Request-Headers: content-type
Accept: */*
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: cors
Referer: http://<IP_ADDRESS>:5500/public/index.html
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,he;q=0.8,yi;q=0.7

here is the modified POST request (the only line that changed was the url.
  Bs_fetch.(
    fetchWithInit(
      "http://localhost:8080/graphql",
      RequestInit.make(
        ~method_=Post,
        ~body=
          Js.Dict.fromList([
            ("query", Js.Json.string(q##query)),
            ("variables", q##variables),
          ])
          |> Js.Json.object_
          |> Js.Json.stringify
          |> BodyInit.make,
        ~credentials=Include,
        ~headers=
          HeadersInit.makeWithArray([|
            ("content-type", "application/json")
          |]),
        (),
      ),
    )

BTW, I don't see this as a CORS issue (yet!) since the request is missing the body, and that is before any pre-flight checks are done. (If it is a CORS, I am using, Cohttp_lwt_unix on the server side).

bs-fetch is just a very thin layer to translate the standard fetch API to BuckleScript. There is very little that can go wrong in this layer, and so far I don't think there has been a single issue with it. That doesn't mean it can't of course, but I think a good approach to troubleshooting these kinds of issues is to try to do the same using fetch in pure JavaScript. If that doesn't work either it'll be much easier to find help since a lot more people understand JavaScript code than do ReasonML. And if it does work, it'll be much easier to compare that code to what bs-fetch produces to see what's different.
I hope that helps. Let me know how it goes or if you have further questions.

@glennsl so, you don't see that I am doing anything wrong with my one line change?

Well, it's not like bs-fetch parses the URL, so it really shouldn't make a difference. It just passes it on to fetch.
This might well be a misconfiguration, but if so that's likely just because fetch is a complex API, and possibly not helped by the translation to bs-fetch not being very intuitive. But there's very little transformation done by bs-fetch here to make the API significantly different. It translates as directly as possible.

@glennsl I was just wondering if I should be doing something different for urls with ports, as well as fully qualified URLS. Before I try the replacing the ReasonML code and using JS, I think I will try debugging the compiled bs.js.

@glennsl  it turns out it is a CORS issue. is there anything that can be done at the client side, Or do you have an example of hacking CoHTTP to added accept-headers ?
headers = Cohttp.Header.of_list ["access-control-allow-origin", "*"; (* other headers *)]

Good to see you figured it out. I have no experience with  Cohttp, but from what I know about CORS it has to be fixed on server-side. I wouldn't think it should be too hard to add a few headers for a specific request type though.


Parameterize scripts to dynamically select addresses based on network

Many scripts rely on hardcoded addresses for execution. These should be modified such that the latest addresses are pulled either directly from environment or deployment data dynamically based on the selected network.
refer
https://github.com/livepeer/arbitrum-lpt-bridge/pull/29#discussion_r775877603
https://github.com/livepeer/arbitrum-lpt-bridge/pull/25#discussion_r770066955

Fixed by #74


Consider using the default GitHub Docker image for dev containers to reduce storage costs

You don't incur a storage cost for using this image.
Using such an image may reduce the cost of:

running and stopped Codespaces
prebuilds (#21) should we use them

What's not clear is whether extending the image incur the cost of the whole combined image, or just the extra layers?
It may be that this image is entirely unsuitable. But it's worth at least considering if we're starting to review and improve our setup.

Closing as a duplicate of #33 which has more detail.


Email-based Recovery

Story
As a user creating a new NEAR account via the wallet, I want to setup a low effort form of recovery, so I can continue using the app I started in while still having some safety.
Acceptance Criteria
Setup Recovery

[ ] User can enter their email on the Recovery Options page and select "Protect Account"
[ ] User receives an email with instructions and "Recover Account" button (see copy in Notes)

Email

[ ] Button URL includes a recovery key in the args
[ ] After clicking button, user is redirected to the recovery flow

Recovery Flow

[ ] Full access key is created by a TX, key is stored in user's localStorage
[ ] User is redirected to "Summary" page
[ ] Mobile ok
[ ] Tested

Assets

Designs
User flows

NOTES
Subject: NEAR Account Recovery
Message:
Keep this email safe, and DO NOT SHARE IT!

By clicking the button below, you can recover your NEAR account.
We do not have access to this key, and cannot resend this email!

<Recover Account>

@vgrichina Thoughts on the above?

@vgrichina Thoughts on the above?

"Email Confirm" screen should IMO communicate to user that they need to make sure they got recovery e-mail from us and that they need to keep it safe.

It's not clear how this will integrate with phone-based recovery. Non-tech people these days don't have e-mails, so it generally should be possible to specify either when signing up (like e.g. Facebook and Twitter do).

For higher security we might want to also confirm that e-mail/phone is still owned by user, i.e. after clicking the link we send another e-mail/SMS to user with security code (or one more link).

Good point, will add

I'm open to keeping phone recovery if we have a good non-custodial way to do it. I thought the current plan was to remove it until we figure that out?

I like the idea of some extra verification during recovery, though it seems more likely an attacker gains access while the original user still has access (for email, at least).

Exactly the same approach to non-custodial as for e-mail works for phone as well. We just send SMS with secret link instead of e-mail with secret link.
At least for phones it's drastically different level: attacker needs to both sim clone and gain access to old messages, which are generally not correlated. For e-mail it's less effective I assume, but still possible to leak e-mail in a way that doesn't leak permanent access (e.g. if it's leaked by email delivery service or some app like LinkedIn scanning ones mailbox one time at sign up).

I think there are multiple dimensions for recovery and it makes sense for bigger picture to take them all into account.

Make sure it's easy for legitimate owner to recover account:
1.1. when they don't have account access from any device (this case grants complex flow with finding secret message, etc)
1.2. when they still have account access on at least one device (arguably far more common use case and it'll be painful to go through full flow every time). This one likely needs special flow (e.g. scan QR code or enter pin code displayed on one of devices) optimized for ease of use.
Make sure that NEAR doesn't have custody of the keys. Immediate solution is giving some secret to user that they need to keep. This is covered by seed phrase recovery + will be covered for SMS/e-mail recovery by sending message with secret that user needs to keep (i.e. basically what discussed here).
Make sure that it's hard for attacker to recover the account they don't own. I think generally it's harder to get continuous access to e-mail/phone vs just steal single message. For this reason I think we should still continue checking if e-mail/phone is still owned (i.e. get a message / enter code / press link to confirm – similar to how it currently works for phone).
Limit free giveaway of tokens (even if limited for gas). This works for phones and with some stretch for .edu e-mail addresses. We don't have solution for e-mail / seed-phrase accounts right now. CAPTCHA isn't a good solution, as is way too cheap to game (fractions of cent per one CAPTCHA). Potential solution is to require social account (with some restrictions like age, etc) instead of just e-mail. That is we e.g. require login with Twitter and then use associated e-mail to send recovery message.


[logging] Add data_age for cached chart

CATEGORY
Choose one

[ ] Bug Fix
[x] Enhancement (new features, refinement)
[ ] Refactor
[ ] Add tests
[ ] Build / Development Environment
[ ] Documentation

SUMMARY
Add a data_age in logging data when chart has is_cached flag.
TEST PLAN
CI and manual test
REVIEWERS
@serenajiang @etr2460

Codecov Report

Merging #9121 into master will decrease coverage by <.01%.
The diff coverage is 50%.

@@            Coverage Diff            @@
##           master   #9121      +/-   ##
=========================================
- Coverage    59.1%   59.1%   -0.01%
=========================================
  Files         372     372
  Lines       11920   11922       +2
  Branches     2917    2919       +2
=========================================
+ Hits         7045    7046       +1
- Misses       4693    4694       +1
  Partials      182     182

Impacted Files
Coverage Δ

superset-frontend/src/chart/chartAction.js
43.33% <50%> (+0.09%)
:arrow_up:

Continue to review full report at Codecov.

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


Some kind of regression between 0.9.7 and 0.10.

To be specific, I'm getting this issue with 7a31ef303a2d90cbf91ccd8cf20931ac020e9cc2, but not with efc666dd6e8f7ab598a1d1d6850fe3b1e564f77a. (The ones in-between causes me compilation errors, so it's hard to say which of them introduced the code that leads to this problem.)
This is my configuration:

Token type
#[derive(Debug, PartialEq, Clone, Copy, Logos)]
pub enum Token {
    #[end]
    EndOfProgram,

    #[regex = "\"[^\"]*\""]
    Text,

    #[regex = "'(\\\\x[0-9a-fA-F]+|\\\\[0-7]+|\\\\(n|t|r|\\\\|\"|'))'"]
    Char,

    #[regex = "-?([0-9]*\\.[0-9]+|[0-9]+\\.[0-9]*)"]
    Float,

    #[regex = "-?0(x|X)[0-9a-fA-F]+"]
    Hex,

    #[regex = "-?[0-9]+"]
    Integer,

    #[regex = "(struct|bool|char|int|float|string|color)_t"]
    Type,

    #[regex = "[a-zA-Z_]+"]
    Identifier,

    #[regex = "#[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]"]
    Color,

    #[token = "{"]
    BraceOpen,

    #[token = "}"]
    BraceClose,

    #[token = "="]
    Assign,

    #[token = ","]
    Comma,

    #[token = "["]
    BracketOpen,

    #[token = "]"]
    BracketClose,

    #[regex = "//[^\n]*"]
    #[token = "/*"]
    #[callback = "ignore_comments"]
    #[error]
    UnexpectedToken,
    UnexpectedEndOfProgram,
}

Sufficient amount of document causing lexing issues in 0.10
tileset "Default Tileset" {
	tileWidth=16
	tileHeight=16
	description="Foobar"
	author="BazQuux"
	version="0.15"

	texture "terrain.png"
	{
		terrain_sprite {
			sprites=[0]
		}

		terrain_sprite "grass" {
			sprites=[
			// Height < -1.0
				20,
			// Height < -0.5
				21,
			// Height < 0.0
				22,
			// Height < 0.25
				23,
			// Height < 0.5
				24,
			// Height < 1.0
				25,
			// Height < 2.0
				26,
			// Height < 4.0
				27,
			// Height >= 4.0
				28
			]
			heightSplits=[-1.0, -0.5, 0.0, 0.25, 0.5, 1.0, 2.0, 4.0]
			snowSprites=[152]
			edgeSprites=[16,17,18,19]
			snowEdgeSprites=[148,149,150,151]

			details=[192,193,194,195,208,209,210,211]
			snowedDetails=[196,197,198,199,212,213,214,215]
			detailsChance=0.0625

			burntOverlay=[32,33,34,35,36]
			corruption=[128,129,130,131,
						144,145,146,147,
						160,161,162,163,
						176,177,178,179]
		}

Relevant part of token stream on 0.9.7
    (
        Comma,
        ",",
        810..811,
    ),
    (
        Integer,
        "36",
        811..813,
    ),
    (
        BracketClose,
        "]",
        813..814,
    ),
    (
        Identifier,
        "corruption",
        819..829,
    ),
    (
        Assign,
        "=",
        829..830,
    ),
    (
        BracketOpen,
        "[",
        830..831,
    ),
    (
        Integer,
        "128",
        831..834,
    ),

Relevant part of token stream on 0.10
    (
        Comma,
        ",",
        810..811,
    ),
    (
        Integer,
        "36",
        811..813,
    ),
    (
        BracketClose,
        "]",
        813..814,
    ),
    (
        Identifier,
        "c",
        819..820,
    ),
    (
        Identifier,
        "orruption",
        820..829,
    ),
    (
        Assign,
        "=",
        829..830,
    ),
    (
        BracketOpen,
        "[",
        830..831,
    ),
    (
        Integer,
        "128",
        831..834,
    ),

As you can see, in 0.9.7, I get a single Identifier token with the value "corruption" from 819..830, while in 0.10, I get two Identifier tokens, one with the value "c" from 819..820, and one with the value "orruption" from 820..830.
This is obviously a bug; the lexer should do as in 0.9.7 and consume the whole identifier at once, not divide it like it does in 0.10.
By chance, after experimenting trying to figure out what differentiated identifiers that stayed whole from those that got divided like this before submitting this issue, I discovered that the cause is when an identifier has a two-or-more character overlap with any of the keywords in the Type token. "corruption" gets, well, corrupted, because of the "color," and if you change "burntOverlay" to "borntOverlay," (overlaps with "bool") you get the same behavior there. It seems like a partial match from one token doesn't get correctly dealt with when another token matches fully later. By removing/commenting out the Type token, the behavior ceases.

I am experiencing the same issue. Unfortunately, development on this project seems to have died off a little :/

I had the same issue and found the cause. The characters starting off overlapping keywords are missing from the LUT for the regex. Seems to be a werid codegen bug.
However I found a workaround: Put the regex before the overlapping keywords in your token type (or more generally just put all regexes before all your keywords to avoid bugs until this is fixed).
I am using this in production so I have a high interest in the stability of this crate and might try to fix this problem myself if nobody else can find the time

Project seems mostly abandoned by original author at this point. Last commit was made nearly a year ago.

Yeah I am probably going to fix this myself the question is whether the author would still be willing to approve pull requests or let someone else take over the project. Otherwise I just have to fork this Project

@DSPOM2 It's a shame this library isn't being more actively developed. I'd love it if you opened a PR for this either way just so the community can build on your work in the meantime.

@DSPOM2 I'm happy to accept PRs. Logos is in the back of my head, but it's also quite daunting since I reckon I might have to rewrite large parts of the derive part to make sure the compilation explosion that I've been trying to fix in #71 doesn't happen. I have some idea how to do it, but I'd need to probably sink good two weeks into it.
I tend to jump between projects and sink time into one thing at a time when I can, a year of a hiatus does not make a project dead :).

@maciejhirsz I'm glad to hear the project isn't abandoned, and I empathize with jumping between projects and viscerally understand how daunting it can be to have to sink several weeks into a rewrite to get something working right.

@alexschrod 0.10.0-rc3 landed on crates, could you please check if the issue persists?

I don't appear to have the power to re-open, but I could always open a new issue or comment in this one.
In any case, I no longer have the project I was working on 6 months ago ready at hand, so unfortunately, I can't easily test this any better than anyone else, sorry.

@alexschrod Thanks for checking :bowing_man:.