onBeforeRouteEnter not triggered if coming from reject route

I added a onBeforeRouteEnter hook to my route
const profile = createRoute({
	name: 'profile',
	path: '/profile',
	component: defineAsyncComponent(() => import('../components/ProfilePage.vue')),
	onBeforeRouteEnter: (to, { reject }) => {
		if (!activeUser.value) {
			reject('AuthNeeded')
		}
	},
})

works totally as expected the first time, if I try navigating to /profile without an active user the rejection happens, is handled by sending me to rejection route (doesn't matter if I use built in rejection component or custom). However, if I click a router-link again to go to /profile it seems to totally bypass this onBeforeRouteEnter hook.

@stackoverfloweth is this when navigating from the rejection back to profile? Or just anytime you try and go to profile after hitting a rejection?

@pleek91 an update on this
I traced the issue to getBeforeRouteHooksFromRoutes, which takes to and from and returns all the hooks.
The first time I enter my route with this hook I see a hook in onBeforeRouteEnter  where I'd expect

The second time I enter my route the onBeforeRouteEnter is empty

This line has a condition isRouteEnter, that is almost certainly the issue but I don't understand what it's trying to do assert.
I made a branch in our router-preview repo setup to reproduce
https://github.com/kitbagjs/router-preview/compare/issue-244-repro?expand=1

I wrote a test that I think reproduces what you're talking about there. Responding here mostly so I can remember what I found.
The issue is you didn't actually change routes. You navigated to /profile which triggered a rejection. But you're still on that same route. So when you push to /profile again its a route update not a route enter. You can see in this test that the update hook is called.
So I think its working as designed. But maybe not working as it needs to? I think the logic for enter vs update is correct. But it doesn't maybe match up with developers expectations when combined with rejections.
test('test hooks, async () => {
  const enter = vi.fn()
  const update = vi.fn()
  let activeUser = false

  const profile = createRoute({
    name: 'profile',
    path: '/profile',
    component: { template: 'Profile' },
    onBeforeRouteEnter: (to, { reject }) => {
      enter()
      if (!activeUser) {
        reject('NotFound')
      }
    },
    onBeforeRouteUpdate: () => {
      update()
    },
  })

  const router = createRouter([profile], {
    initialUrl: '/profile',
  })

  await router.start()

  const root = {
    template: '<RouterView/>',
  }

  const app = mount(root, {
    global: {
      plugins: [router],
    },
  })

  expect(app.text()).toBe('NotFound')
  expect(update).toHaveBeenCalledTimes(0)
  expect(enter).toHaveBeenCalledTimes(1)

  activeUser = true

  await router.push('/profile')

  expect(app.text()).toBe('Profile')
  expect(update).toHaveBeenCalledTimes(1)

  // this fails because the hook wasn't run a second time
  expect(hook).toHaveBeenCalledTimes(2)
})

@pleek91 interesting... that definitely makes sense now. I like that rejections keep you on the route but I'm concerned that devs will make the same mistake I did assuming that because it feels like they're on a rejection route (not found) that they can push to profile and trigger route enter.
I'll continue to give this some thought but as of right now I'm tempted to treat rejection routes like separate routes and abandon the idea of just fix the error and call refresh. That's not intuitive and breaks hooks. Technically we have rejection routes, I'm wondering if we should just use those as the current route.
For the use case of auth needed and returning to the route they were trying to access, maybe we can do something else to still create a solid devex 🤔


fixed std::min and std::max problem

fixed std::min and std::max problem because of min and max macros in win...

Thanks for the PR. windows.h is a quite a mess, but I don't think that C++ Format should unconditionally define global macros that can affect it. The reason is that such macros can break other library's or user code when windows.h is included elsewhere. I think it should be up to the user to decide whether these macros are defined or not and they can be defined before including format.h or on a project level.


symlink README.md to lib

this allows the lib to be vendored as a crate, otherwise it would depend on files outside the crate.

Fair enough but I really want that readme to be at the top level so you can see it directly on github, I would either, remove that doc from lib or copy the readme but that would be sad, what's your opinion?

misread the diff, thanks then! <3


Question: Means of loading function's dependency data into memory

What are best options for making some static, in-memory data available to a function?
Let's assume:

the data is known and available at/prior-to the time of function deploy
data is too large and/or undesirable to hardcode into the function itself
solution should not require db query external to the pod

E.g., http endpoint triggers a Python function that does some in-memory lookup and returns the result

What are best options for making some static, in-memory data available to a function?

In-memory?  You mean from the handler that is invoking the functions? or you want share data across the function invocation.
In general pod's running the functions are ephermal and function it self is assumed to be stateless, persisting data externall.

the data is known and available at/prior-to the time of function deploy
It might help to know the use-case. Is it a static data? Some thing can be made avaialble as configmap or volume.

You can control/specify the deployment spec used for the pod's running the function. So you have lot of flexibility.

@murali-reddy Thanks for your reply. Here's a bit more to help clarify:

In-memory? You mean from the handler that is invoking the functions? or you want share data across the function invocation.

A little unclear on what you mean by "from the handler". The data would just need to be loaded into memory and available to the function as if it were a global var.

It might help to know the use-case. Is it a static data?

Yep, it's static data. Read only. Everything can be considered stateless.
Furthermore, say the data normally takes 20 seconds to load (maybe typically done on startup of a typical service, E.g., Flask app). That wouldn't work for the hypothetical use case I'm interested in, i.e., each http call taking 20+ seconds wouldn't work. We'd need this dependency data loaded and ready to go (and not require a db query, even if local to the pod).
I should also mention that the primary aspect of Kubeless we'd like to leverage is flexibility, agility and ease of function deployment.
What approaches might I consider in terms of deployment spec or otherwise to achieve this with Kubeless?

How do you envision this data to be available to the function code? Like a global variable that can be accessed, or param to the function?
Like i mentioned earlier, since you can control the deployment spec used for pod, you have all means Kubernetes gives to inject data into pod's.
If those approaches does not work, then your best bet is to use custom run times. You can fully control how your application can be designed.

To complete @murali-reddy comment, note that you can include code outside the function that will be executed just one time whenever the function is loaded. So for the function:
MY_ENV_VAR = ENV['MY_ENV_VAR']

def foo(event, context)
  "hello world"
end

The statement MY_ENV_VAR = ENV['MY_ENV_VAR'] will be executed just once (not every time the function is executed)

Thanks, @andresmgot! It took me a little while, but I did come to this same (critical!) realization last night while playing around with Kubeless. For whatever reason, initially, I was thinking that the module from which the handle function is taken would be either lost during some parsing step (i.e., only handle and it's function scope would exist inside Kubeless function). Thankfully that's not the case. I believe I can achieve what I'm looking for using this approach in addition to injecting the data into the pod as @murali-reddy mentioned.


"unable to get debs for packages to repair"

Describe the bug
This is a bit long story. I had realized that my battery ran out very fast with the jailbreak and I realized that it was on the backboardd and I saw on the internet that the best option was to restore the device (iPhone XR 13.3) and I found the Succession application. I did all the steps well and when you start doing the restoration, an error comes up with the only option to exit the application, but while the restoration was still running. I did not realize that the process was going on and press to exit the application. This caused errors and did not open any jailbreak or tweak applications, so enter unc0ver and activate the Restore RootFS option to eliminate the jailbreak. When I tried to jailbreak again to return to the original state I got the error of "Unable to get debs for packages to repair." No matter where I install unc0ver and whatever version I always get the same error.
Device (please complete the following information):

iOS Version: 13.3
iOS Device: iPhone Xr
unc0ver Version: I tried 4.0.0/4.0.1/4.0.2/4.0.3

Place an "x" between the brackets if true:

[x] this is a bug others will be able to reproduce
[x] this issue is present with all tweaks uninstalled(except for default packages) or disabled
[x] this issue is present after a rootfs restore
[x] this issue is present on the latest version of unc0ver

Logs
Unable to resolve lzma to a debs
Unable to get debs for packages to repair.

I just try unc0ver version 4.1 and 4.1.1 and the problem is still there. It was working fine but was trying to get a tweak to work and restore rootfs and after that I have the same problem.

This issue is caused by an outdated version of AltServer for Windows, just update it.

Thanx nyuszika7h it is working after I updated altserver and I'm running 4.2


v<IP_ADDRESS> Enterprise -- Unable to create user/login

I have recently installed CSET v <IP_ADDRESS> Enterprise in an isolated environment with no access to email or an SMTP server.  I have used the AddUser.exe utility from <IP_ADDRESS> and can see the user entry in the SQL database.  However, when I try to login to the application, it just errors out with "Incorrect username or password".  This is attempting to login from the localhost.

A ticket has been created and we will be looking into this issue.

Unsure if this is the same as your issue, but I ran into something similar. When I used the tool to add a user, but the password complexity did not meet the standard, it would add successfully but not work. I needed to use something more complex in the tool and that solved it. Not sure if this is the same, but hope it helps.

Just wanted to give an update that this issue is fixed and will be available in an upcoming release.


readme: tweak wording around soundness

Miri can tell you whether your code is sound when it finds UB -- it's not sound in that case. It can give negative answers, just not positive ones.

@bors r+

:pushpin: Commit 4573efbd6b112532a9a66f259a2d55d79be5f648 has been approved by oli-obk
It is now in the queue for this repository.

:hourglass: Testing commit 4573efbd6b112532a9a66f259a2d55d79be5f648 with merge d0910ed637740ec69e70d190ae3ad360d74cedce...

:sunny: Test successful - checks-actions
Approved by: oli-obk
Pushing d0910ed637740ec69e70d190ae3ad360d74cedce to master...


2 misterious endpoints on fresh setup

Hi,
During investigation of
https://github.com/docker/swarm/issues/2149
I've used vagrant to create 3 VMs all running latest docker
I ran consul on 1 of those and used the other 2 as engines using that consul
I ran swarm on my host and create networks to investigate.
This issue which may end up as question is
Before doing any operation with the described setup I had those networks listed as result of swarm list networks:
NETWORK ID          NAME                      DRIVER
2da78b8447da        docker1/none              null
f368d31e4f1b        docker1/host              host
1f549a1b7b40        docker1/docker_gwbridge   bridge
88ceb09718b7        docker2/host              host
7830bbe345fc        docker2/docker_gwbridge   bridge
0f79475d3fff        docker2/bridge            bridge
d62982382f49        docker2/none              null
88796a8d8422        docker1/bridge            bridge
But in the endpoint in the consul web ui I had 2 more endpoint in which the IDs did not match any of the networks(the other did)
What are those?

@doronp It seems that you have created overlay networks in the past and removed them which results in the current state as described above. The endpoints that doesnt belong to any of these networks could be stale endpoints left in consul due to various reasons. Infact we resolved one such stale endpoint issue recently : https://github.com/docker/libnetwork/pull/1157
The above fix will help in cleaning up stale endpoints during ungraceful daemon restart. From your description above, since there are no overlay networks, I assume you have deleted the network and hence these endpoints will be left stale in the consul store with no way to clean it up even with docker network disconnect -f {network} {endpoint-name} since the network is now gone. But at the same time, these endpoints will not cause any harm in this case, as the corresponding network isnt present.

@mavenugo While I am certain that I got stale endpoints on a fresh system, I admit that since I ran consecutive experiments those logs may be from the wrong state. I will repeat the experiment and paste the results again If the number and names of endpoints is equal in the output of the network ls and in the consul UI I will close this issue.

@mavenugo here goes:
network ls output on swarm+2 nodes with consul all fresh:
f05c4a17bdd7        docker2/none        null
436073bf9ece        docker2/host        host
4b7b9c2b2b52        docker1/host        host
622c4612fed0        docker1/bridge      bridge
4bab51079934        docker1/none        null
e69aa09e6a4e        docker2/bridge      bridge
(6 networks)
on my consul UI I got 8 endpoints
436073bf9ecea3af183dbc90f828620dd0f0e69b3b1786569429b4e94052b71b   V
4b7b9c2b2b525908ba534ad3c2880430c05f47e0f9764053c04152b617098ebc  V
4bab5107993442503cb83fb3f04fd9a61271e41e0d9be56c4b8182944101e97c   V
622c4612fed0fb286df2ff35f2d5158f0c17d4a953dc7a7a621a563aaaef3151        V
b7a17c62a8e48630eda3b88ad0c002c49c5fd42d9e07bebea8152a19ec79f4b8
e69aa09e6a4ed4e6cc72032bd43235c47c7c6f7da20eacb4f0d72983e11958ac   V
f05c4a17bdd7d0245ccdcbb2c996aef4158e4b8c887b9c04b68729980e9ba0de   V
f8783013017028011cf6f4828fd61dbfd9d1e1be7bfc708410c578845d513d4a
(8 endpoints)
Those not marked with V are the ones I wonder about.
Any ideas?

@doronp swarm or docker-engine will not create endpoints in overlay network by default. That essentially means, these endpoints are left over states in the consul KV-Store. Are you using the same --data-dir of consul from the previous attempt ? that would answer why you see these stale endpoints.

@mavenugo Both dockers and consul are running on a VM created with vagrant (Ubuntu)
In order to create the results above I did vagrant destroy to all of those then started them ran the docker engines to use the consul - the consul lives in a container in the dedicated VM for consul.
So unless I miss something the answer to your question would be no.
I can share My Vagrant environment with you along with steps to reproduce my experiment if you wish.

@doronp It has been detected that this issue has not received any activity in over 6 months. Can you please let us know if it is still relevant:

For a bug: do you still experience the issue with the latest version?
For a feature request: was your request appropriately answered in a later version?

Thank you!
This issue will be automatically closed in 1 week unless it is commented on.
For more information please refer to https://github.com/docker/libnetwork/issues/1926


variables: allow resolving extensionDir

This allows us to fix https://github.com/microsoft/vscode-remote-release/issues/5516#issuecomment-911597917
It enables a new replacement in the format ${extensionDir:<id>} which
will expand to the filesystem path where the extension is stored. This
involved churn, since now resolution is always synchronous (where before
the terminal took a synchronous-only path.)
Additionally, changes were needed to inject this information in the
variable resolver. As part of this I made the extension host resolver
(used by debug and tasks) its own extension host service.

I tried reading through microsoft/vscode-remote-release#5516, but there's a lot going on there. Where would a user use ${extensionDir:<id>}?

In js-debug, we add an environment variable to import the "bootloader" script automatically in Node.js programs to enable auto attach. This is only updated when the user changes their desired auto attach behavior; js-debug doesn't activate on * or eagerly check it. The bootloader is included in js-debug, and if the variable points to a location that doesn't exist, all Node.js programs will error out.
The issue the user ran into is that they updated to a new version of VS Code, and therefore the path to the old bootloader on their remote--which is set as an ordinary absolute path--was no longer valid. This can be fixed with the introduction of a ${extensionDir:} variable that VS Code will evaluate when creating a new terminal, so that the location will always be right.

This can be fixed with the introduction of a ${extensionDir:} variable that VS Code will evaluate when creating a new terminal, so that the location will always be right.

Does this mean that a real user will never use ${extensionDir:} in a launch.json file?

Does this mean that a real user will never use ${extensionDir:} in a launch.json file? I ask because these variables should all be things that real users want to use in tasks, debug, and maybe settings.

Hm, they could be if the user ever needed to reference a file in an extension. Though that is rare and I don't know of other cases yet. More likely would be other extensions using this (or generating this) like js-debug does.

@connor4312 having a variable that we don't expect any users to actually use is not ideal. You did a lot of great work in this PR, but it's not clear to me that having a variable is the best way to solve https://github.com/microsoft/vscode/pull/146274#issuecomment-1083302596 (thank you for the explanation btw!).
Since this is something that only extension would use, it is possible to solve it with API?

Hmm, maybe. An API-specific substitution or something... @Tyriar any thoughts?

How about prefixing with __ and just not documenting it? It would be a shame to have a whole new variable resolver mechanism that we then need to initialize on all these different processes it works on.

Transferring to @alexdima as he owns extension service

How about prefixing with __ and just not documenting it?

If we do this then it becomes defacto API. Could we make an API that just gets the install location of an extension without doing any substitution and then pass that to whatever terminal API needs it?

Reaching back to an older comment:

The issue the user ran into is that they updated to a new version of VS Code, and therefore the path to the old bootloader on their remote--which is set as an ordinary absolute path--was no longer valid.

Was this they updated their extension, not VS Code? If it's VS Code then would it be possible to construct a correct path using the VS Code server install location (which we should already have a variable for: execPath)?
If it's the extension that updated then I see the issue. Maybe we could have an activation event for when an extension has been updated so that they can take care of things like this. I can think of other reasons an extension might want to activate on update too (migrations, deprecation messages, other warnings). This seems to match well with how the terminal substitution API works.

Was this they updated their extension, not VS Code? If it's VS Code then would it be possible to construct a correct path using the VS Code server install location (which we should already have a variable for: execPath)?

A VS Code update generally entails an extension update, and built-in extension now (it seems with the updating mechanism Sandeep added) are stored like ordinary extensions in a folder like ~/.vscode-server-insiders/<publisher>.<name>-<version>. So we get a new path which each update.

Maybe we could have an activation event for when an extension has been updated so that they can take care of things like this

I don't think this would work, the environment variable collections and workspace-specific and we'd need to activate and update them in each new workspace where they had previously been set.

Thanks for answering all my questions! It's clear to me now that there isn't a better way to address this issue.
Let's keep the new variable as publicly documented so that we don't have hidden API. When we do doc updates for 1.67 we need to make sure we add a sentence about how this variable can resolve to either a location on the remote or on the local machine depending on where the extension is installed.

Renamed! I added it to the variable completions where other variables were present.
Also, fixed a bug where the variable completions would only work for the first replacement per line.


Improve code completion

In RPG sources, when there are /includes or /copy, imported variables or procedures are not proposed by the code completion.
Warning: there can be /include in members that are imported (multiple levels of inclusion)

Hi @ThomasBarberot it does!
Sadly there are limitations:

it will only go one level deep
it doesn't search the library list, and looks for the member in the same library if not explicitly defined (this is subject to change)

Hi @worksofliam.
Your answer put me on the right track:
In MYLIB library, there is the source file QRPGLESRC.
In the source file MYLIB/QRPGLESRC, there is a member MSG_H.
In the source file MYLIB/QRPGLESRC, there is a member MYPGM.
In the member MYLIB/QRPGLESRC,MYPGM, if we do :

/include MSG_H, the member to be included is not found (indicated in the tooltip when you move the mouse over it)
/include QRPGLESRC,MSG_H, the member to be included is found (indicated in the tooltip when you move the mouse over it), so the code completion works!

I think there is a bug though, because your second point seems not to work if you don't indicate the source file (when by default it should take the same one as the one we are in, as the compilator does).


Merge pull request #1 from apache/trunk

update
NOTICE
Please create an issue in ASF JIRA before opening a pull request,
and you need to set the title of the pull request which starts with
the corresponding JIRA issue number. (e.g. HADOOP-XXXXX. Fix a typo in YYY.)
For more details, please see https://cwiki.apache.org/confluence/display/HADOOP/How+To+Contribute

更新

111


Update python packaging to avoid setup.py which is deprecated

It would be nice if we could integrate the sphinx docs build into the new build recipe.  It's difficult to deal with in spack when they're part of the regular autotools build, but I need to package geopmdpy separately (as a Python package) to resolve Python version issues between what's in spack vs. the host system.


CuPy-Xarray post

First draft of a post about CuPy-Xarray updated docs .

@andersy005 Can you please authorize the vercel build on this? Thanks. 🙏

@dcherian and @maxrjones I wrote this initial draft for a blog post on the updated cupy-xarray docs.
Please review this and let me know your comments.

@dcherian Should we add the funding source to this? Maybe in the acknowledgement section?

@negin513 thoughts on the suggestions?

@andersy005 this is good to go. Let's merge! (or maybe take a quick read before merging :) )

I did one last copy edit (including updating the date). @andersy005 would you be willing commit the last suggestions and merge this for us?

https://twitter.com/xarray_dev/status/1748007050842431922


Add TaskInfo

Add a new type to help translate a brand new task to the real task resource. This will be used by every kind of async operation.

Does this mean that in Swift case a route like addDocuments returns an uid and not a taskUid ?

yes, for now! I still have a lot of PR's to create here haha


Fix Issue 15891 - Compiler error when std.algorithm.cache after 2 layers of std.algorithm.map

Let's make the compiler happy...

ping?


Errors are not handled properly

Sometimes I get the error NoMethodError (undefined method `[]' for nil:NilClass).
This originates in /usr/local/bundle/gems/crunchbase4-0.1.7/lib/crunchbase/utilities/request.rb line 49 because it tries to access the wrong properties (message). The real response in this case is {"error"=>"failed to parse json entity", "code"=>"CS103"}

Thank you @tobsch for reporting!
Could you share your request params and API endpoint with us?

@encoreshao it was a wrongly formatted search / incompatible hash that led to the exception

@tobsch
I'm not sure if you still have the problem now.
I have added a new logic for parsing error messages by response type. If needed, use the new version v0.2.0.
I closed it now, if anything I can do, pls have me know.


maven-jar-plugin build warnings when building remora-core

[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.jkoolcloud.remora:remora-core:jar:0.1.9-SNAPSHOT
[WARNING] 'build.pluginManagement.plugins.plugin.(groupId:artifactId)' must be unique but found duplicate declaration of plugin org.apache.maven.plugins:maven-jar-plugin @ line 135, column 25
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO] ------------------------------------------------------------------------
[

Checked in fix, please verify

Ok. It seems all right. Close


setup.py needs to be updated

Trying to setup this project on my machine i got few errors then i saw this line, so i remove those dependencies and oahla setup works fine, so i believe these two lines are not needed anymore as pull request #60 is already merged
XXX: remove this once https://github.com/google/ml-metadata/pull/60
is merged.
#'grpcio >= 1.8.6',
#'ml_metadata == 0.23.0',
happy to raise a PR to fix it.

Hi @robertmujica what error did you experience before removing those lines?
ml-metadata is a Kale dependency that we use in the pipeline steps. Installing grpcio is still requires, as ml_metadata version 0.23.1 has yet to be released.

this is the error that i'm getting, when i run:  pip3 install -e .[dev] from backend/
..........
Using cached https://files.pythonhosted.org/packages/ea/41/130df5822c73e42815250683634828c69449225ae61fc14f5b13884c2898/kfp-1.0.0.tar.gz
Collecting ml_metadata==0.23.0 (from kubeflow-kale==0.5.0)
Could not find a version that satisfies the requirement ml_metadata==0.23.0 (from kubeflow-kale==0.5.0) (from versions: 0.12.0.dev0, 0.13.0.dev0, 0.13.1.dev0, 0.13.2)
No matching distribution found for ml_metadata==0.23.0 (from kubeflow-kale==0.5.0)
then if run tests after, i'm getting
..........
env/lib/python3.6/site-packages/_pytest/assertion/rewrite.py:170: in exec_module
exec(co, module.dict)
backend/kale/tests/e2e/test_e2e.py:20: in
from kale.core import Kale
E   ModuleNotFoundError: No module named 'kale'
=========================== short test summary inf0= ==============================
so i commented those lines and ran test again and i got 131 tests passed that is the reason i assumed it was not needed.
.........
kale/tests/e2e/test_e2e.py::test_pipeline_generation_from_gtihub
kale/tests/e2e/test_e2e.py::test_pipeline_generation_from_gtihub
kale/tests/e2e/test_e2e.py::test_pipeline_generation_from_gtihub
:26: DeprecationWarning: invalid escape sequence .
-- Docs: https://docs.pytest.org/en/stable/warnings.html
====================== 131 passed, 19 warnings in 11.95s =======================

@robertmujica According to https://pypi.org/project/ml-metadata/0.23.0/ that version does exist. What system are you running on? Do you have some pip configuration that points to other package indexes maybe?

@StefanoFioravanzo no i don't have any pre-defined pip configuration, and also i created a new fresh python environment, but you are right it is a valid package, when i do a pip install manually it works ok. so like i said before, project is running on my machine and i can debug extension and on my local jupyterlab, so closing this issue


playbook sample for rolling restart of ydb storage nodes

Closing this PR in favor of using ydbops tool for cluster rolling restart https://github.com/ydb-platform/ydbops


I would really prefer it if you reached out to me first.

Hi, I'm the ceo of one of the instances in your list (fedi.pawlicker.com). I don't mind being blocked, I'm used to it at this point and in fact I've got some wagie dollars saved up to change domains as well when I move to running a multi-user setup because of how people copy/paste blocklists. However I don't appreciate the fact that you're likely copypasting instances from some massive list without even checking what is on these lists or with zero reason. This is cemented by the fact that you've included domains that have been down such as marsey.club, neckbeard.xyz, or anime.website or completely incorrect domains such as kiwifarms.net (their fedi instance has been down for a while), nonfederating websites that run Mastodon such as truthsocial, and instances that don't even talk about "hate speech" such as the9thcircle.club or bungle.online. If you bothered to read the ToS of some of these instances or reached out to the admins, you'd get a second prospective first. I only heard about this blocklist from someone on fedi.
So if you're going to blanket ban a bunch of people, maybe actually read over your list and check what the instances are hosting first. This behavior has become a notorious problem on the fediverse to the point people have begun to ditch instances that excessively block over this. Thanks for reading this.

I just inherited this, started out getting bombarded with hate speech, and started supplying a blocklist of recommendations of other people. I posted my methodology, and tenforward was one of my sources.
The source was from a tenforward citation for harassment. I absolutely did copy a lot of domains from there originally. There are a few ancestral domains on there that I didn't have firsthand exposure to at the time. Some defederations are over lax moderation, or federation with nazis.  This was the citation for bungle.online for "racism, queerphobia"
It's all here.
https://wiki.tenforward.social/doku.php?id=tenforward:suspensions
I've been on the fedi for like...2 months? Just a little over, and started my own server with a few friends. This was a defensive measure on my part.
In the future, my plan is to combine sources and be a bit more careful about my own block recommendations as well.
I will remove your instance, as well as most of the others you mentioned from my blocklist for now. You're right that I was not here when any of these things supposedly happened, and you don't deserve to be added to my own list for historical issues.
I'll try to be more careful in the future, but I freely admit the list is very subjective, and I'm just sharing it with the idea that new admins should have a reasonable, fair place to start, and weeding out less well-moderated instances.
Sorry I did not communicate with you, first. I will be updating the list shortly.

I've fundamentally restructured this system to rely on FediBlockHole and a series of trusted sources to create block files. Mine is only one of those sources, and each file can be individually downloaded, or a merged version of all of them can be downloaded.
I do appreciate you communicating with me about this. If there is anything else you suggest that should not be on my list please let me know. Mine is just one of many sources now, but it could have some impact on the other lists.
I am hopeful that providing multiple lists for download instead of only offering my own as "the list" will be a lot less offensive to the community and provide a bit more transparency to the process.

I'm going to close this issue for now. I can appreciate it doesn't feel good to have your name show up on a list without knowing why, but I've removed your instance from my own list and have pruned a few more since that are based on old, inherited information.


Install script does not find rustc

I tried to install kellnr with the install script but it cannot find rustc even though it is installed (the command is from the website)
lucalewin@fedora:/opt/kellnr$ curl -s https://raw.githubusercontent.com/kellnr/installer/main/install.sh | sudo bash -s -- -s -p mypassword
INFO: Start Kellnr installation
ERROR: rustc not found. Please install the package that contains rustc.
ERROR: Missing dependencies.
lucalewin@fedora:/opt/kellnr$ rustc -V
rustc 1.80.1 (3f5fd8dd4 2024-08-06)

Can you run a which ructc and command -v rustc?

lucalewin@fedora:~$ which rustc
~/.cargo/bin/rustc
lucalewin@fedora:~$ command -v rustc
/home/lucalewin/.cargo/bin/rustc


Crate linking to produce library or final executable.

I decided to use cargo as the base build system. Per-file compilation using rustc will not be supported unless there's proper needs.

#10 is closing this.


Adding profile to isort: black

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 81.951%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
168

Relevant Lines:
205

💛  - Coveralls


MAINT: Work around Sphinx bug

Until https://github.com/sphinx-doc/sphinx/pull/7811 lands to take care of https://github.com/sphinx-doc/sphinx/issues/7810, work around recent failures.

Failure is just a timeout and this fixes CircleCI for master, so I'll go ahead and merge.


Dim not work

The statements:
println!("{}", Style::default().dimmed().paint("test 1"));  // rust-ansi-term
println!("{}", Dim.paint("test 2"));  // term-painter

generated the following outputs:

Ok, I'm investigating right now. What terminal are you using? Looks a bit like Ubuntu Default, which I'm using too.
When using term directly, it doesn't work either:
t.attr(term::Attr::Dim);    // Ok(false)
(write!(t, "foo")).unwrap();
assert!(t.reset().unwrap());

This outputs the same foo^[(B^[ as in your picture. Ok(false) means that the attribute isn't supported on the current terminal. But apparently my terminal does support dim/faint mode, since printing println!("\x1b[2mtest 1\x1b[0m"); has the desired output.
Right now I think it's a bug in term. Will investigate further.

I'm using Terminator on Arch Linux.

Seems to be resolved now (was a bug in ncurses). The second line in your example results in ^[[2mtest 2^[(B^[[0m now.


Add support for GHC 9.2

Fixes the build for GHC 9.2 in the same vein as https://github.com/byteverse/bytebuild/pull/27. I have confirmed that it builds on GHC 8.10.7, 9.0.2 and 9.2.2. I don't have older GHC versions available on my machine, however if it is desirable to support versions older than 8.10, the conditional block in cabal file should probably be tweaked accordingly.

While introduction of CI revealed some undeterministic test failures with 9.0 and 8.10, I think current PR can be simplified a bit and merged as is. Namely, the FastTags.LexerM only really needs two functions from newer GHC.Exts: word8ToWord# and wordToWord8#. Why not add these under #ifdef to the module, this way they'll be enabled only for GHC 9.2 or later and you will not need to wait for CI to test on earlier GHCs.
I.e. I suggest to add something like this to FastTags.LexerM and don't bother with the compat modules since most of those won't be used anyway.
#if __GLASGOW_HASKELL__ >= 902
import GHC.Exts (word8ToWord#, wordToWord8#)
#else
{-# INLINE word8ToWord# #-}
word8ToWord# :: Word# -> Word#
word8ToWord# x = x

{-# INLINE wordToWord8# #-}
wordToWord8# :: Word# -> Word#
wordToWord8# x = x
#endif


Revisit login/logout process, better catching of edge cases (unauthor…

…ized while developing)

@plone/volto-team if you want to test this fix and see the before and after here is a simple testcase that is fixed by this pull request.

Login and create a private document
Logout on that private document
You get unauthorised page with link to login, click it
Login and you will see before that you are not redirected to the page that requested the login you are left on the login page.
Before you had to click on the logo to go to the homepage and you would see that you were indeed logged in.
Now as soon as you high login you are redirected properly.

It's not very obvious what this pull request fixed, it might fix something else but this is what problem I had before and this pull request fixes this issue for me.
@stevepiercy if you want to add something to the  docs it's all yours :)

We have nothing relevant about the logout user experience in the Volto docs: https://6.docs.plone.org/search.html?q=logout&doc_section=volto.
That said, it's yet another reminder that I need to sit down with someone knowledgable to show me how to run Cypress, record screenshots and videos, and store those files in documentation's _static directory. I think the student who was looking into this at the Axolotl Sprint has moved on to other things. It's sad that we have only a minimal user manual for Volto in Plone 6 documentation and none for Classic UI.

@stevepiercy yeah, it's nothing nowhere to be found. "default" login/logout experience is just "given for granted", and it's not specified anywhere, same for the behavior that:

You can login from anywhere content object, then you return to the same point
You can logout, you stay in the content object you were located.

I would like having such an asset as a "user guide", we can take a look together at the outcome of what the student left, or maybe plot a plan for moving on from here. Maybe next Volto Team meeting? I think it's important enough to make a plan. Even move it as a PLIP? Let's visibilize it and show that we lack these important documentation part.
Btw, merging this one now, if you don't mind!

Yes, please merge.
I never saw anything from the student. I'll make a PLIP, as it pertains to both UIs.


Overlaying an AdjointLayout should either error or overlay the main layer

Currently when you overlay an AdjointLayout on top of an element you get an invalid object:
print repr(hv.Points(range(10)) * hv.Points(np.random.rand(10,2)).hist())

:Overlay
   .Points.I        :Points   [x,y]
   .AdjointLayout.I :AdjointLayout
      :Points   [x,y]
      :Histogram   [x]   (Frequency)

If you try to display this object you get this error:
/Users/philippjfr/miniconda/envs/geoviews/lib/python2.7/site-packages/holoviews/plotting/plot.py in _create_subplots(self, ranges)
    818
    819             if not isinstance(key, tuple): key = (key,)
--> 820             subplots[key] = plottype(vmap, **plotopts)
    821             if (not isinstance(plottype, PlotSelector) and
    822                 issubclass(plottype, GenericOverlayPlot)):

TypeError: __init__() takes exactly 4 arguments (2 given)

I would argue that attempting to overlay an AdjointLayout should simply cause the main layer to be overlaid, returning another AdjointLayout. In which case executing the same code would return this instead:
print repr(hv.Points(range(10)) * hv.Points(np.random.rand(10,2)).hist())

.AdjointLayout.I :AdjointLayout
   :Overlay
      :Points   [x,y]
      :Points   [x,y]
   :Histogram   [x]   (Frequency)

Alternatively an error should be raised when trying to overlay something with an AdjointLayout.

Isn't this example less about "overlaying an AdjointLayout on top of an element" and more about applying an ambiguous .hist() method call to an Overlay?  I.e., the result of it is indeed an overlay of an AdjointLayout and an element, but that's not what the user asked for; instead they asked for the .hist() of something ambiguous.  In this case the ambiguity was resolved in a way that doesn't work, and in your proposed solution it's resolved in a way that would presumably work?
In any case, it would be great to have an informative error message if using .hist() in this way is not legal.

Oops; I misread the parentheses!  Never mind; it is how you described it.

instead they asked for the .hist() of something ambiguous. In this case the ambiguity was resolved in a way that doesn't work, and in your proposed solution it's resolved in a way that would presumably work?

As you say, that's not the issue, but in any case the hist method on an Overlay supports an index argument, which resolves the ambiguity. You're right that I could have changed the bracketing to make it work correctly though.

Seems like your solution would work if there is no ambiguity about what the histogram applies to in the final data structure.  But presumably there are such overlays that aren't going to work?   E.g. should overlaying an AdjointLayout with an AdjointLayout be ok (moving one of the histograms to a different location?)?

Good point, it could either overlay the adjoined plots too or add them separately (which can fail if there are already two adjoined plots). The most useful thing to do would be to check the dimensions of the adjoined plots and overlay them if they match and combine them if they don't.

Sounds good.

I would argue that attempting to overlay an AdjointLayout should simply cause the main layer to be overlaid, returning another AdjointLayout.

That sounds reasonable to me.

should overlaying an AdjointLayout with an AdjointLayout be ok

I think it should. I think I would expect the bottom AdjointLayout position to be maintained and the side-element of the AdjointLayout above to be moved (if necessary). Of course, you can only do this so many times before you have nowhere you can put your side-element (which would then be an error).

Now implemented.

Thanks!


GET_CSR: responder is not able to return InvalidRequest if any RequesterInfo content is not supported

The spec mentioned:
"The Responder shall return an ERROR message with error code InvalidRequest if it cannot support a field included in the RequesterInfo , or if the value of a requested field is not supported and the Responder cannot alter the value of the field."
Current implementation did check the syntax of RequesterInfo as shown below.
https://github.com/DMTF/libspdm/blob/d6f4b0b6b0a37f53031b7707cafa349b1512dc0d/library/spdm_responder_lib/libspdm_rsp_csr.c#L145-L151
But this can't verify whether requester contents are supported. It will need libspdm_gen_csr() and libspdm_gen_csr_ex() to verify the contents and provide more information.

In general, all the hal/ functions need to return libspdm_return_t instead of bool. That can be a libspdm 4.0 enhancement. But it looks like https://github.com/DMTF/libspdm/blob/8cf9fab59a68b5f42fc9cfe94a2342cedbee8d67/library/spdm_responder_lib/libspdm_rsp_csr.c#L246-L249 can be changed to InvalidRequest for libspdm 3.x.


build ink-example /trait-dyn-cross-contract-calls fail

cd trait-dyn-cross-contract-calls/contracts/incrementer
cargo contract build
the error is :
Compiling trait-incrementer v4.0.0 (/private/var/folders/q3/qpr18mtx5pzdfzdp282189gw0000gn/T/cargo-contract_LdIgay/contracts/incrementer) error: the#[global_allocator]` in ink_allocator conflicts with global allocator in: ink_allocator
error[E0152]: duplicate lang item in crate ink_env (which ink depends on): panic_impl.
|
= note: the lang item is first defined in crate ink_env (which ink depends on)
= note: first definition in ink_env loaded from /Volumes/E/project/github.com/paritytech/ink-examples/trait-dyn-cross-contract-calls/target/ink/trait_incrementer/wasm32-unknown-unknown/release/deps/libink_env-732c71f7eb8a9501.rlib, /Volumes/E/project/github.com/paritytech/ink-examples/trait-dyn-cross-contract-calls/target/ink/trait_incrementer/wasm32-unknown-unknown/release/deps/libink_env-732c71f7eb8a9501.rmeta
= note: second definition in ink_env loaded from /Volumes/E/project/github.com/paritytech/ink-examples/trait-dyn-cross-contract-calls/target/ink/trait_incrementer/wasm32-unknown-unknown/release/deps/libink_env-d25c2c37eb82aaca.rlib, /Volumes/E/project/github.com/paritytech/ink-examples/trait-dyn-cross-contract-calls/target/ink/trait_incrementer/wasm32-unknown-unknown/release/deps/libink_env-d25c2c37eb82aaca.rmeta
`
the Cargo.toml is as follow； I modity the ink = { path = "/Volumes/E/project/github.com/paritytech/ink/crates/ink", default-features = false };
`
[package]
name = "trait-incrementer"
version = "4.0.0"
authors = ["Parity Technologies<EMAIL_ADDRESS>edition = "2021"
publish = false
[dependencies]
ink = { path = "/Volumes/E/project/github.com/paritytech/ink/crates/ink", default-features = false }
#ink = { path = "../../../../crates/ink", default-features = false }
`
So how can i build this contract。 @cmichi  thanks

cd trait-dyn-cross-contract-calls/contracts/incrementer cargo contract build the error is : Compiling trait-incrementer v4.0.0 (/private/var/folders/q3/qpr18mtx5pzdfzdp282189gw0000gn/T/cargo-contract_LdIgay/contracts/incrementer) error: the#[global_allocator]` in ink_allocator conflicts with global allocator in: ink_allocator
error[E0152]: duplicate lang item in crate ink_env (which ink depends on): panic_impl. | = note: the lang item is first defined in crate ink_env (which ink depends on) = note: first definition in ink_env loaded from /Volumes/E/project/github.com/paritytech/ink-examples/trait-dyn-cross-contract-calls/target/ink/trait_incrementer/wasm32-unknown-unknown/release/deps/libink_env-732c71f7eb8a9501.rlib, /Volumes/E/project/github.com/paritytech/ink-examples/trait-dyn-cross-contract-calls/target/ink/trait_incrementer/wasm32-unknown-unknown/release/deps/libink_env-732c71f7eb8a9501.rmeta = note: second definition in ink_env loaded from /Volumes/E/project/github.com/paritytech/ink-examples/trait-dyn-cross-contract-calls/target/ink/trait_incrementer/wasm32-unknown-unknown/release/deps/libink_env-d25c2c37eb82aaca.rlib, /Volumes/E/project/github.com/paritytech/ink-examples/trait-dyn-cross-contract-calls/target/ink/trait_incrementer/wasm32-unknown-unknown/release/deps/libink_env-d25c2c37eb82aaca.rmeta
`
the Cargo.toml is as follow； I modity the ink = { path = "/Volumes/E/project/github.com/paritytech/ink/crates/ink", default-features = false }; ` [package] name = "trait-incrementer" version = "4.0.0" authors = ["Parity Technologies<EMAIL_ADDRESS>edition = "2021" publish = false
[dependencies] ink = { path = "/Volumes/E/project/github.com/paritytech/ink/crates/ink", default-features = false } #ink = { path = "../../../../crates/ink", default-features = false } ` So how can i build this contract。 @cmichi thanks

i modify the ink = { path = "../../../../crates/ink", default-features = false }  to ink = { version = "4.2", default-features = false } that it can work


NEXT-00000 - Fix wishlists variable type in product entity

1. Why is this change necessary?
When calling the $product->getWishlists() function (the "wishlists" association must be added to the criteria), a TypeError error occurs.
2. What does this change do, exactly?
Changes wishlists variable type from Shopware\Core\Checkout\Customer\Aggregate\CustomerWishlist\CustomerWishlistCollection to Shopware\Core\Checkout\Customer\Aggregate\CustomerWishlistProduct\CustomerWishlistProductCollection in ProductEntity class in order to comply with the ProductDefinition and prevent TypeError
3. Describe each step to reproduce the issue or behaviour.

Load any product with 'wishlists' association $product = $this->productRepository->search((new Criteria([$productId]))->addAssociation('wishlists'), $context)->first();
Try to get product wishlists $product->getWishlists();
TypeError occurs;

4. Please link to the relevant issues (if any).
5. Checklist

[x] I have rebased my changes to remove merge conflicts
[ ] I have written tests and verified that they fail without my change
[x] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

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

Hey @niro08,
your change looks good to me, could you please sign the CLA that we can import and merge it?
Thanks in advance

Hi @OliverSkroblin,
I signed the CLA, but the status is still "not signed yet"

Hey @niro08
the issue is that you used a different email address in the commit, that is not associated with your github account (but with another github account).
So either

sign the CLA with your second github account as well
add the committer email address to your current github account
Create a new PR where you use an email address associated with your correct github account as author

Sorry for having this bureucracy hurdle here, but we need to ensure that there are no adverse effects on the whole community (e.g. by contributors pulling out their contributions after the fact as happened to other open source projects)

Hey @keulinho
thanks for explanation and instructions.
The CLA signed.

Hi @niro08 Thanks for your contribution, since you changed the data type of variable, it should be a break change. It would be nice if you can deprecate it
Eg:
/**
     * @deprecated tag:v6.7.0 - reason:return-type-change - Return type will change to CustomerWishlistProductCollection
     */
    public function getWishlists(): ?CustomerWishlistCollection
    {
        return $this->wishlists;
    }

Hi @leduc92, thanks for feedback!
Does this mean I need to revert my changes and just add a deprecation tag instead?
P.S. At the moment calling the getWishlists() function causes an error, so I don't think it can be used by anyone in code and maybe this isn't a really break change.

Hi @niro08 we accepted your solution since it's broken right now, and you can not load the association. Thank you for your contribution, it was merged in another merge request. After this message, I will close this merge request.


Pesto in dark theme: menu text has wrong color

/cc @sethladd @HansMuller

Thanks for the report!

Pesto's app bar includes a popup menu. Pesto's app bar is defined within a theme that differs from the one defined by the gallery app.
A popup menu is just a route that appears via Navigator.push().
If a popup menu inherits from a theme that differs from the one that its Navigator descends from we should use the popup menu's theme. Currently the Navigator's theme is used.
This is a symptom of a general problem. Inherited widgets defined below the Navigator don't affect routes that have been pushed by that Navigator.

I have a fix that corrects the inherited theme problem for popup menus.
I'm going to try and create a general solution, since it could also apply to Heroes and their inherited state.

@HansMuller is there an issue for the general solution, that I can link to this?


examples: add adjoint, born, gradient, checkpointing to the tti example

@FabioLuporini now supports same command line args as acoustic.

this would benefit from a common template shared by all seismic propagators

Yeah thought about that. Don't have much of an opinion but I think it 's a bit more readable as a standalone example like that. Maybe next time.


Added numbering in each section

Closed previous pull request and here with a fresh one

Could you pls add hacktober-accepted label pls @Shubhamlmp ?


site: add 'title' attribute guidelines to icon-only button / icon docs

Enhancement Request
Desired behavior
Encourage developers to add title / tooltip for non labeled buttons, so that a default browser tooltip appears on hover.
Today's behavior
Problems/friction you encounter.
The Value Add
Accessibility, best practices.
The Tradeoffs
Documentation may be overlooked

Triage: Team convo on how to doc; guideline? prop?  general page?


Fix stackdriver installation instructions.

Add a note to include required stackdriver scopes with a link to further
stackdriver monitoring documentation; add suggestion to use unique tags to
more easily identify clusters for stackdriver dashboard creation.

SGTM


Enable native debugging for vstest.console

Description
With environment variable VSTEST_HOST_NATIVE_DEBUG, we can use a native debugger to debug tests but it requires --InIsolation flag.
When using the argument --tests: to run a specific test, testhost.exe is spawned twice and we must attach twice to properly debug.
When the environment variable VSTEST_RUNNER_DEBUG is set, vstest.console only waits for a managed debugger.
I propose to add new environment variable VSTEST_RUNNER_NATIVE_DEBUG to enable native debugging of vstest.conssole.
This will enable native debugging of tests without the --InIsolation flag.
Related issue
Fixes #10393

[x] I have ensured that there is a previously discussed and approved issue.

@microsoft-github-policy-service agree

Thank you.


Customize hyper-parameters for pipelines

Orion version: v0.1.5
Python version: 3.7
Operating System:

Description
In the tutorial notebook, it is recommended that "For experimentation purposes, you can reduce the number of epochs in the tadgan.json file such that you reduce the number of training iterations."
This operation is risky in the sense that tadgan.json is in some sense considered the default pipeline file. If the users forget to change it back (which is very likely if they are only doing an experimental run in their first trial), it might lead to undertraining in later runs. Also, this operation is inconvenient, especially when the users want to try a couple hyper-parameter(s) to find out the best fit for their data sets.
One solution might be to remind the users in the tutorial notebook that they can first load the json files as dictionaries, change the hyper-parameter(s) inside and then pass it into the Orion factory method.
Alternatively, like many other classes (e.g. sklearn models), we can give the users the option to pass in additional keyword arguments (or as dictionaries) to overwrite the ones in the json files. That is, creating objects in these ways:
orion = Orion(
    pipeline='tadgan.json', epochs=10
)

or
orion = Orion(
    pipeline='tadgan.json', kwargs={epochs : 10}
)

Thanks @ZhuofanXie  for the suggestion!
Some ideas on how to proceed with this feature:

In pipeline jsons file, specify the global name for the hyperparameter, for example epochs and which primitive it maps to. A new section in the json file is proposed where we map keyword arguments to primitives and their respective hyperparameters
In Orion API, we can search for any primitive that has the specified hyperparameter name, and change that for all hyperparameters. In some cases, this will lead to an undesired behavior.

"hyperparameters": {
    "mapping": [
        "epochs": "keras.Sequential. LSTMTimeSeriesRegressor#1.epochs"
    ]
}


Rename env var used to configure ModelPipelines

This PR does not need a corresponding Jira item.
Description
A simple internal refactor to rename an environment variable from what is implied WCA usage; to a general form.
Testing
N/A
Production deployment

[x] This code change is ready for production on its own
[ ] This code change requires the following considerations before going to production:

@hasys AFAIK you may be the only person (one of the only people) who configure the service locally for Ollama.
This may affect whatever you have local (but not merged?)


How do you know that @babel/typescript is sync with tsconfig.json?

As title. I have read many projects as references, and you're the only person who set it up differently when using @babel/preset-typescript. I assume that you have done what I'm trying to understand:
When TypeScript and/or Babel receive updates, how do you guarantee that your template can still work? It's possible that Babel might not follow the rules defined by tsconfig.json and read by the language server of one's IDE. From my understanding, this might be a problem when a user follows the hints by IDE or tsc --noEmit but Babel might still compile it differently. (I'm not very sure about this part.)
tsconfig.json
https://github.com/CreativeTechGuy/ReactTemplate/blob/4b1db4698deb233ff33c2660baeef39843db2a2c/tsconfig.json#L5
https://github.com/CreativeTechGuy/ReactTemplate/blob/4b1db4698deb233ff33c2660baeef39843db2a2c/tsconfig.json#L9-L10
https://github.com/CreativeTechGuy/ReactTemplate/blob/4b1db4698deb233ff33c2660baeef39843db2a2c/tsconfig.json#L14
babel.config.js
https://github.com/CreativeTechGuy/ReactTemplate/blob/4b1db4698deb233ff33c2660baeef39843db2a2c/babel.config.js#L33-L37

So when Babel is used to compile, it basically ignores the tsconfig. Babel is entirely separate. For the most part, Babel will just strip out types when transpiling which is why it's significantly faster than tsc which does a lot more.
So you can look at it as two totally separate parts.

The IDE hints, and the tsc errors are for the developer to know that they need to write better code or fix an issue.
Babel then turns the ts into js basically ignoring that and will happily turn "unsafe" (but valid) ts code into valid js.

By separating these, you are now using TypeScript purely as a type checker and nothing more. It's solely to make your code better, provide auto complete, type checking, etc. But then when you actually want your code to run, you basically "just run it" without repeating all of those processes to make sure it's valid.

When TypeScript and/or Babel receive updates, how do you guarantee that your template can still work?

Now this is a separate question. But when any library updates, you need to read the changelog, look at what might need to be changed or updated, and react accordingly. But that's true for any library, not just TypeScript or Babel. So yes of course an update could break it, but then you just need to migrate/fix that like you would when updating any other package which has a breaking change.

So your current config of @babel/typescript is basically not related to any tsconfig.json option, correct? (just confirming, as I thought Babel preset would have to be tuned according to tsconfig.json)

That is correct. You can test this by deleting the tsconfig.json and removing the ForkTsCheckerWebpackPlugin from webpack.common.mjs and the build will still work the same.

@CreativeTechGuy Could you answer one more question please?
Since ts-loader also provides transpileOnly flag, and there are also other single-file transpiler options. Why you decided to stick to babel-loader?
Not having doubts about your decision, but I almost cannot find people who are an expert and interested in using Babel nowadays. Thanks for your reading!

I personally think that tools should be specialized. So pick the best tool for the job, combine multiple tools for the entire system. Babel is by far the best at transpiling code, everything from converting ts -> js, polyfilling, supporting unreleased JS syntax, etc. It's the first to get support for something new 99% of the time. It also has a really great plugin ecosystem so you can do all sorts of advanced things to transform the code if you ever have a need.
TypeScript is great at typechecking your code and providing a great IDE experience. It doesn't really have much extensibility beyond that and is fairly slow comparatively (since what is doing is super complex).
Hopefully that answers your question.
TLDR: Babel is the best tool for transpiling code, so let it be exclusively in-charge of that.

@CreativeTechGuy What's your opinion on those caveats? Is that a big deal? I read some thread on Reddit and people mentioned it.
https://babeljs.io/docs/babel-plugin-transform-typescript#caveats

To me, none of those caveats matter in any situation I've ever been in. I guess you need to determine if they matter to you.

Thanks for your advice :) End of questions, and happy coding!


pull request for e2e test at 01/02/2017 10:26:15

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


fix(http, model): properly construct audit log route; expose AuditLog fields

Contains minor bugfixes that partially address #616

Thanks


Partial rendering is buggy

Partial rendering seems to be buggy. Rendering partials within a layout file does not compile the inky templating language in those partials. Is this a bug, or should partials be handled another way here?

Dup of #18. Saw that one first, even though this was sooner, so closing this in favor of that one.


Need an Understandable Error Message when Using EntryClick block

Describe the desired feature
Now, when a user builds an app with two ChartData2D components in one chart — and uses the EntryClick event handler for one of the ChartData2D's — Companion crashes with either no explanation or a long java error.
Of course, there are good solutions to this problem, such as putting the two ChartData2s in their own respective Charts, then switching their visibility on and off as needed. But users may need some guidance that EntryClick is indeed causing the problem.

Hi Robert,Please send me a copy of the aia with the problem. Sent from my iPhoneOn Oct 11, 2023, at 14:43, bobparks @.***> wrote:
Describe the desired feature
Now, when a user builds an app with two ChartData2D components in one chart — and uses the EntryClick event handler for one of the ChartData2D's — Companion crashes with either no explanation or a long java error.
Of course, there are good solutions to this problem, such as putting the two ChartData2s in their own respective Charts, then switching their visibility on and off as needed. But users may need some guidance that EntryClick is indeed causing the problem.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>


How to fix Service resolver is null for CommandHandlers

I have the following Unit test in NUnit:
private Mock<IMyClient> ClientMock { get; set; }
[SetUp]
public new async Task SetUp()
{
    ClientMock = new Mock<IMyClient>();
}

[Test]
public async Task MyTest()
{
    await using var dbContext = new MyDbContext(ConnectionString);
    var repository = new MyRepository(dbContext);
    var handler = new MyHandler(repository, ClientMock.Object, Logger.None);

    var command = new MyCommand
    {
        MyParameter = 1
    };

    var result = await handler.ExecuteAsync(command, CancellationToken.None);
    ...

I get this error, when I run the test:
System.InvalidOperationException : Service resolver is null! Have you done the unit test setup correctly?
   at FastEndpoints.Config.get_ServiceResolver()
   at FastEndpoints.ValidationContext..ctor()
   at FastEndpoints.ValidationContext`1..ctor()
   at FastEndpoints.CommandHandlerBase`1..ctor()
   at FastEndpoints.CommandHandler`2..ctor()

I have the exact same test setup for a different command handler and it works.
I found these issues: #582 and #382, but they only explain how to do it with endpoints.

try placing the following call inside the test method on the first line before anything else gets called:
Factory.RegisterTestServices(s => { });

if that doesn't work, i'm going to need a standalone, debuggable repro project.

It works! Thank you!


Update 3.1.0

Checklist

[x] Used a fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@sodre you're listed as the maintainer, can you review please?

@conda-forge-admin, plesse rerender

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

There are 1 too many lines.  There should be one empty line at the end of the file.

For recipe:

Jinja2 variable references are suggested to take a {{<one space><variable name><one space>}} form. See lines [27].
License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

There are 1 too many lines.  There should be one empty line at the end of the file.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Iglu CLI: lint Redshift DDL?

Ported from https://github.com/snowplow/schema-guru/issues/86

Not sure how we would do this:

Use a live Redshift database?
Strip Redshift-specific DDL and use a local Postgres?
...?

I'd go with live Redshift database. It doesn't make a lot of sense to check correctness of DDL at the same time removing most fragile part of this DDL.


[Designer] Feedback title here

I really like the designer. It would be great to save sample data and JSON profiles if there is the way to login and save drafts etc. in your profile. I need to save json sample data and json schema offline to redo or improve cards. This is not an issue just suggestion for enhancement. Thx!

@ruggedjungleboy there's currently no way to persist draft data per user. We have some work planned to enable this :)


Accessibility Audit - Carbon Website: Components - Breadcrumb

This epic is tied to a larger "release" that is meant to track the progress of the Accessibility Audit for the Carbon Website. We will audit all of the pages of the carbon website based on AVT 1, AVT 2, & AVT3 - which can be found here.

AVT 1: will audit the site against the IBM Accessibility Checker - browser extension

AVT 2: will audit the site against accessible keyboard interactions

AVT 3: will audit the site against screen readers

Legend:

🌶 fully audited - on all three AVT levels

:one: 🔍 AVT 1 audited
:two: 🔍 AVT 2 audited
:three: 🔍 AVT 3 audited

:boom: issues and documentation - on all three AVT levels are complete

:one: 🚨 AVT 1 issues submitted
:two: 🚨 AVT 2 issues submitted
:three: 🚨 AVT 3 issues submitted

:sparkles: tickets are triaged

Current status of this page:

1⃣ 🔍 AVT 1 audited & 🚨 AVT 1 issues submitted

Components - Breadcrumb:

Usage: 6 violations
Style: 6 violations
Code: 7 violations - no new violations
Accessibility: 7 violations

Closing due to inactivity. Will reopen if/when ready to be worked on again.


Edit Specimen Parts Preserved/Preservation Mode: Can not add/delete additional/extra states--Error returned

I tried delete Cuticle from Specimen: Hack-A-Thon Specimen 230808.CC.2 and got error message below.
Also, tried to add Body to Parts Preserved and got same message.
Error: Cannot read properties of undefined (reading 'includes')

I also got a WEIRD error message when I tried to edit a collection (I was removing a preservation mode).

Actually, we can not edit anything on specimen node.

I discovered that my specific problem with the collection edit is that I had quotation marks in the notes fields. We do need to be able to use these in notes so that people can add quotes directly from the publication.

One problem per issue, please.

When we changed Specimen to inherit group from Collection, I overlooked some logic in the api server that expected a groups param from the client.
This is fixed in paleobot/pbot-api@07ee6ffbb51fcf0e83eb41d4b1b9138a4b79e2e6

Thank you Doug!
On Wed, Aug 2, 2023 at 7:42 PM NoisyFlowers @.***>
wrote:

Closed #180 https://github.com/paleobot/pbot-dev/issues/180 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/paleobot/pbot-dev/issues/180#event-9993178885, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ARLULEDW2V4ZLBLP3XDJSNTXTLQXZANCNFSM6AAAAAA3BYFXKI
.
You are receiving this because you were assigned.Message ID:
@.***>


Embeddable email capture form

How does a user opt in to a List? Is there an embeddable form or URL I can point them to after deploying? Or is a CSV import the only way at the moment? Thanks!

@hsribei There's an embeddable form. You can find it on the manage lists section, for each list there's an option to check the signup form and the subscribers of the list

@karuppiah7890 I didn't get to this part because I couldn't create a list in the first place. It seems like the only way to create one is to import a CSV file. When going to Create List I only see the field for List name and the Import button. There doesn't seem to be a way to submit the form without importing one. Is this something I'm doing wrong or should I add it as a feature request issue?
I will try with a dummy CSV file. Thanks!

@hsribei Ah, well, you could import a CSV with just one subscriber (may be dummy like you said, or yourself - your email ID) at least, because I doubt if a CSV with just the column headers and no other data will be accepted by the server.

Yes, it worked with the dummy CSV. Just created a file with
firstName,lastName,email
<EMAIL_ADDRESS>
Created an issue #184 for allowing empty lists to be created.
Thanks!


S3C-703: Update werelogs config handling

Motivation and context
Adapt S3 to recent werelogs API changes, solving the issue of misconfiguration of the logging system.
Related issues
Internal: S3C-703
The issue was not covered by the tests previously; I'm leaving adding a new test to you guys, as this fix is wide in impact on the connector.

PR has been updated. Reviewers, please be cautious.

Note that I have yet to update all repositories; will trigger an E2E then

@ironman-machine after=[scality/werelogs#99,scality/Arsenal#314,scality/utapi#145,scality/bucketclient#115,scality/vaultclient#144,scality/sproxydclient#120]

Hello @DavidPineauScality
"after": ["scality/werelogs#99": Success, "scality/Arsenal#314": Success, "scality/utapi#145": Success, "scality/bucketclient#115": Success, "scality/vaultclient#144": Success, "scality/sproxydclient#120": Success]

@ironman-machine after=[scality/werelogs#99,scality/Arsenal#314,scality/utapi#145,scality/bucketclient#115,scality/vaultclient#144,scality/sproxydclient#120,scality/cdmiclient#6]

Hello @DavidPineauScality
"after": ["scality/werelogs#99": Success, "scality/Arsenal#314": Success, "scality/utapi#145": Success, "scality/bucketclient#115": Success, "scality/vaultclient#144": Success, "scality/sproxydclient#120": Success, "scality/cdmiclient#6": Success]

And Here's the last step to validate these changes !
@ironman-machine
SCALITY_WERELOGS_BRANCH=S3C-703/Fix-werelogs-design
SCALITY_SPROXYDCLIENT_BRANCH=S3C-703/Update-Werelogs-Config-Handling
SCALITY_ARSENAL_BRANCH=S3C-703/Fix-Werelogs-config-handling-design
SCALITY_CDMICLIENT_BRANCH=S3C-703/Update-Werelogs-Config-Handling
SCALITY_BUCKETCLIENT_BRANCH=S3C-703/Update-Werelogs-Config-Handling
SCALITY_VAULTCLIENT_BRANCH=S3C-703/Update-Werelogs-Config-Handling
SCALITY_UTAPI_BRANCH=S3C-703/Update-Werelogs-Configuration-Handling
SCALITY_METADATA_BRANCH=S3C-703/Update-Werelogs-Config-Handling
SCALITY_VAULT_BRANCH=S3C-703/Update-Werelogs-Config-Handling
SCALITY_S3_BRANCH=S3C-703/Update-Werelogs-Config-Handling
try

Hello @DavidPineauScality
"SCALITY_WERELOGS_BRANCH=S3C-703/Fix-werelogs-design": Success
"SCALITY_SPROXYDCLIENT_BRANCH=S3C-703/Update-Werelogs-Config-Handling": Success
"SCALITY_ARSENAL_BRANCH=S3C-703/Fix-Werelogs-config-handling-design": Success
"SCALITY_CDMICLIENT_BRANCH=S3C-703/Update-Werelogs-Config-Handling": Success
"SCALITY_BUCKETCLIENT_BRANCH=S3C-703/Update-Werelogs-Config-Handling": Success
"SCALITY_VAULTCLIENT_BRANCH=S3C-703/Update-Werelogs-Config-Handling": Success
"SCALITY_UTAPI_BRANCH=S3C-703/Update-Werelogs-Configuration-Handling": Success
"SCALITY_METADATA_BRANCH=S3C-703/Update-Werelogs-Config-Handling": Success
"SCALITY_VAULT_BRANCH=S3C-703/Update-Werelogs-Config-Handling": Success
"SCALITY_S3_BRANCH=S3C-703/Update-Werelogs-Config-Handling": Success
"try": Success: Try build successfully launched on 'http://ci.ironmann.io/gh/scality/Integration/14225' with the following env. args:
{
    "SCALITY_UTAPI_BRANCH": "S3C-703/Update-Werelogs-Configuration-Handling",
    "SCALITY_ARSENAL_BRANCH": "S3C-703/Fix-Werelogs-config-handling-design",
    "DEFAULT_BRANCH": "master",
    "REPO_NAME": "S3",
    "SCALITY_S3_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_SPROXYDCLIENT_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_VAULT_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_VAULTCLIENT_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_WERELOGS_BRANCH": "S3C-703/Fix-werelogs-design",
    "SCALITY_INTEGRATION_BRANCH": "ultron/master",
    "SCALITY_CDMICLIENT_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_BUCKETCLIENT_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_METADATA_BRANCH": "S3C-703/Update-Werelogs-Config-Handling"
}

:broken_heart: :hourglass: circleCI test timed out...

and again 🥄
@ironman-machine try

Hello @DavidPineauScality
"try": Success: Try build successfully launched on 'http://ci.ironmann.io/gh/scality/Integration/14226' with the following env. args:
{
    "SCALITY_UTAPI_BRANCH": "S3C-703/Update-Werelogs-Configuration-Handling",
    "SCALITY_ARSENAL_BRANCH": "S3C-703/Fix-Werelogs-config-handling-design",
    "DEFAULT_BRANCH": "master",
    "REPO_NAME": "S3",
    "SCALITY_S3_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_SPROXYDCLIENT_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_VAULT_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_VAULTCLIENT_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_WERELOGS_BRANCH": "S3C-703/Fix-werelogs-design",
    "SCALITY_INTEGRATION_BRANCH": "ultron/master",
    "SCALITY_CDMICLIENT_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_BUCKETCLIENT_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_METADATA_BRANCH": "S3C-703/Update-Werelogs-Config-Handling"
}

:sunny: :+1: circleCI test succeeded!

Adding the backbeat branch for a last E2E
@ironman-machine
SCALITY_BACKBEAT_BRANCH=S3C-703/Update-Werelogs-Config-Handling
try

Hello @DavidPineauScality
"SCALITY_BACKBEAT_BRANCH=S3C-703/Update-Werelogs-Config-Handling": Success
"try": Success: Try build successfully launched on 'http://ci.ironmann.io/gh/scality/Integration/14277' with the following env. args:
{
    "SCALITY_UTAPI_BRANCH": "S3C-703/Update-Werelogs-Configuration-Handling",
    "SCALITY_ARSENAL_BRANCH": "S3C-703/Fix-Werelogs-config-handling-design",
    "DEFAULT_BRANCH": "master",
    "REPO_NAME": "S3",
    "SCALITY_S3_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_SPROXYDCLIENT_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_VAULT_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_VAULTCLIENT_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_WERELOGS_BRANCH": "S3C-703/Fix-werelogs-design",
    "SCALITY_BACKBEAT_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_INTEGRATION_BRANCH": "ultron/master",
    "SCALITY_CDMICLIENT_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_BUCKETCLIENT_BRANCH": "S3C-703/Update-Werelogs-Config-Handling",
    "SCALITY_METADATA_BRANCH": "S3C-703/Update-Werelogs-Config-Handling"
}

:sunny: :+1: circleCI test succeeded!


Compatibility with Beta 8

Will be this upgraded for work with Beta 8?
I need to have a list of registered users.
Thank you for this extension.

@PeopleInside please see: https://discuss.flarum.org/d/5444-user-management-by-reflar/229 for the full update :D


TraceListener does not appear to add anything to the HttpTraceRepository

It looks like in the latest commit, TraceListener no longer adds the event information to the HttpTraceRepository so the functionality to trace events and acknowledgements no longer works. It looks like a comment was added for it to be fixed as the call to the repository was commented out.
https://github.com/spring-cloud/spring-cloud-bus/blob/f98518e15a474490e4c9a54375c347672a316e3c/spring-cloud-bus/src/main/java/org/springframework/cloud/bus/event/TraceListener.java#L47

indeed, this isn't an http trace. Duplicates #193


Issue #180 resolved

Problem / Issue No.

Issue #180 : Implement UI Changes for Seamless Scrolling of Top Elements on Programs Screen

Describe Problem / Root Cause

The screen contained multiple nested ScrollViews, causing conflicting scroll behaviors. This made it difficult for the user to scroll through the entire screen smoothly, leading to a poor user experience. The primary ScrollView was not functioning correctly due to interference from the nested scrollable widgets.

Solution Proposed

The solution involved setting the physics property of the nested ListView widgets to NeverScrollableScrollPhysics(). This ensures that these ListViews do not handle any scroll events, allowing the primary ScrollView to manage scrolling for the entire screen. This change prevents conflicts between the scrollable widgets and ensures a smooth scrolling experience for the user.

Code Changes:
ListView(
  physics: NeverScrollableScrollPhysics(),
  //...
)

Additional Information

This solution was applied to all nested ListView widgets within the screen. By making these ListViews non-scrollable, the primary ScrollView can properly handle all scrolling, resulting in a smoother user experience.

Video of changes
https://github.com/andoriyaprashant/OpSo/assets/154971588/d18b7de7-abb3-4406-9972-15ba0a2d9169

@andoriyaprashant i have created a PR. this issue is fixed please merge and close the issue

@Shubham-Zone Remove unnecessary code files

@andoriyaprashant i have removed all the unnecessary code files

@andoriyaprashant , the changes done in this pull request causes the projects in the Summer of Bitcoin and GSSoC Page to be unscrollable as
  physics: NeverScrollableScrollPhysics(),
is applied to the widget _buildProjectList thus effectively stopping the users from accessing any more projects than shown on the front screen.

@RishavKumarSinha this is the issue of responsiveness of the app ... you can add an issue related to the responsiveness


Allowing Default Exchange

Allows to use the default exchange by sending an empty string.
Fixes issue #11
This is not a Breaking change.
Gael

Sounds good, merging and deploying!


Translation Request: arabic

I am able to translate this language [yes/no]

Closing this, since translation policy will be changed soon. Only translation PRs will be accepted.


The onExpire callback function is triggered.

If the validation is passed, the webview window of the library will simply disappear. How do I trigger the onExpire callback?

This is true: the onExpire will rarely be called, so it's important to trigger the recaptcha just before sending the token to the backend.


Delay doesn't yield inside saga B when called by saga A

Description of the bug/issue
The polling inside connectSaga doesn't work because the delay yield hangs
Code
import { all, fork, race, takeLatest, take, put, call } from 'redux-saga/effects';
import { delay } from 'redux-saga';
import { enable, connect, connected } from './actions';
 import {
      ENABLE,
      CONNECT,
      DISABLE,
      ENABLED_CHECK_DELAY,
      CONNECTED_CHECK_DELAY,
    } from './constants';

    export function* enableSaga() {
      while (true) {
        try {
          if (window.stations.isEnabled()) {
            console.log('enabled');
            yield put(connect());
          }

          yield call(delay, ENABLED_CHECK_DELAY);
        } catch (err) {
          console.log(err);
        }
      }
    }

    export function* connectSaga() {
      while (true) {
        try {
          window.stations.connect();

          if (window.stations.isEnabled() && window.stations.isConnected()) {
            yield put(connected());
          }

          if (!window.stations.isEnabled() && !window.stations.isConnected()) {
            yield put(enable());
          }

          console.log('checking before');
          // this yield is the issue it gets stuck here when inital state is
          // window.stations.isEnabled() === true
          // window.stations.isConnected() === false
          yield call(delay, ENABLED_CHECK_DELAY, true);
          console.log('checking after');
        } catch (err) {
          console.log(err);
        }
      }
    }

    export function* disableSaga() {
      try {
        window.stations.atbDisconnect();
      } catch (err) {
        console.log(err);
      }
    }

    export function* enablerWatcher() {
      while (yield take(ENABLE)) {
        yield race([
          call(enableSaga),
          take(CONNECT),
          take(DISABLE),
        ]);
      }
    }

    export function* onlineWatcher() {
      while (yield take(CONNECT)) {
        yield race([
          call(connectSaga),
          take(ENABLE), // removing this makes the yield resolve
          take(DISABLE),
        ]);
      }
    }

    export default function* sagaListeners() {
      yield takeLatest('DISABLE', disableSaga);
      yield all([
        fork(enablerWatcher),
        fork(onlineWatcher),
      ]);
    }

The Expected results
enabled
checking before
checking after  // but this doesn't show up
Environment information
"redux-saga": "0.16.0",

It seems that 'checking-after' not being logged is caused by connectSaga being cancelled.
When connectSaga yield put(enable()), take(ENABLE) in onlineWatcher wins the race, other two effects, call(connectSaga) and take(DISABLE), will be automatically cancelled by race.
You could add some inspection code to log the cancellation status of connectSaga and the result of race in onlineWatcher, it should better explain what is happening.
export function* connectSaga() {
+ // wrap the original code with try-finally
+  try {
    /* ... */
+  } finally {
+    console.log('connectSaga isCancelled:', yield cancelled())
+  }
}

export function* onlineWatcher() {
  while (yield take(CONNECT)) {
    const raceResult = yield race([
      call(connectSaga),
      take(ENABLE), // removing this makes the yield resolve
      take(DISABLE),
    ]);
+    console.log(raceResult) // Inspect the race result
  }
}

I was thinking the same thing.  I've simplified my code, so I couldn't follow through to test the issue theory.  Thanks for your help


Plotly mode bar orientation

We can configure the mode bar buttons with update_layout(modebar_add={}), but its orientation is unexpected. Expecting a horizontal mode bar, rather than a vertical one.
Discussed in https://github.com/datapane/datapane/discussions/206

Originally posted by thomasmore72 June  8, 2022
Hi all,
When I upload my Plotly graph to Datapane I loose the Modbar tools I added and it's rotated vertically.
here are the tools using fig.show():

and here are the tools once uploaded to Datapane:

Does anyone have any ideas?

Migrated to feature requests at https://datapane.nolt.io/26


unmanaged-cluster command required cluster name missing in docs

Description
For docs related to installing Tanzu components in existing cluster over here, following the commands leads to an error
$ minikube start
😄  minikube v1.25.2 on Ubuntu 20.04 (xen/amd64)
✨  Automatically selected the docker driver. Other choices: ssh, none
👍  Starting control plane node minikube in cluster minikube
🚜  Pulling base image ...
💾  Downloading Kubernetes v1.23.3 preload ...
    > preloaded-images-k8s-v17-v1...: 505.68 MiB / 505.68 MiB  100.00% 54.71 Mi
    > gcr.io/k8s-minikube/kicbase: 379.06 MiB / 379.06 MiB  100.00% 23.76 MiB p
🔥  Creating docker container (CPUs=2, Memory=8000MB) ...
🐳  Preparing Kubernetes v1.23.3 on Docker 20.10.12 ...
    ▪ kubelet.housekeeping-interval=5m
    ▪ Generating certificates and keys ...
    ▪ Booting up control plane ...
    ▪ Configuring RBAC rules ...
🔎  Verifying Kubernetes components...
    ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟  Enabled addons: storage-provisioner, default-storageclass
🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

$ tanzu unmanaged-cluster create -e ~/.kube/config --cni=none
Failed to initialize configuration. Error cluster name must be provided
Error: exit status 1

✖  exit status 1

The fix is to add a cluster name in the command. Actually any cluster name will do but in order to not change the kube config I have used the same cluster name as provided by minikube
$ tanzu unmanaged-cluster create -e ~/.kube/config --cni=none minikube

📁 Created cluster directory

🔧 Resolving Tanzu Kubernetes Release (TKR)
   projects.registry.vmware.com/tce/tkr:v1.21.5
   Downloaded to: /home/ubuntu/.config/tanzu/tkg/unmanaged/bom/projects.registry.vmware.com_tce_tkr_v1.21.5
   Rendered Config: /home/ubuntu/.config/tanzu/tkg/unmanaged/minikube/config.yaml
   Bootstrap Logs: /home/ubuntu/.config/tanzu/tkg/unmanaged/minikube/bootstrap.log

🔧 Processing Tanzu Kubernetes Release

🎨 Selected base image
   projects.registry.vmware.com/tce/kind/node:v1.21.5

📦 Selected core package repository
   projects.registry.vmware.com/tkg/packages/core/repo:v1.21.2_vmware.1-tkg.1

📦 Selected additional package repositories
   projects.registry.vmware.com/tce/main:0.10.1

📦 Selected kapp-controller image bundle
   projects.registry.vmware.com/tkg/packages/core/kapp-controller:v0.23.0_vmware.1-tkg.1

🚀 Using existing cluster
   Warning: Components installed using this method will need to be manually removed.

   To troubleshoot, use:

   kubectl ${COMMAND} --kubeconfig /home/ubuntu/.kube/config

📧 Installing kapp-controller
   kapp-controller status: Running

📧 Installing package repositories
   Core package repo status: Reconcile succeeded

🌐 Installing CNI
   No CNI installed: CNI was set to none.

✅ Cluster created

🎮 kubectl context set to minikube

View available packages:
   tanzu package available list
View running pods:
   kubectl get po -A
Delete this cluster:
   tanzu unmanaged delete minikube
$

This issue seems to be present in other commands (in the same page) as well, like https://tanzucommunityedition.io/docs/latest/ref-unmanaged-cluster/#disable-cni-installation
$ tanzu unmanaged-cluster create --cni=none
Failed to initialize configuration. Error cluster name must be provided
Error: exit status 1

✖  exit status 1

https://tanzucommunityedition.io/docs/latest/ref-unmanaged-cluster/#customize-the-distribution
$ tanzu unmanaged-cluster create --tkr projects.registry.vmware.com/tce/tkr:v1.22.2
Failed to initialize configuration. Error cluster name must be provided
Error: exit status 1

✖  exit status 1

Also, we use unmanaged-clusters in https://tanzucommunityedition.io/docs/latest/ref-unmanaged-cluster/#cant-upgrade-kubernetes , notice the extra s at the end. We just use it as a term here, maybe we could still stick to unmanaged-cluster without the s following the plugin / command name
Location
https://tanzucommunityedition.io/docs/latest/ref-unmanaged-cluster/#install-to-existing-cluster
https://tanzucommunityedition.io/docs/latest/ref-unmanaged-cluster/#disable-cni-installation
https://tanzucommunityedition.io/docs/latest/ref-unmanaged-cluster/#customize-the-distribution
https://tanzucommunityedition.io/docs/latest/ref-unmanaged-cluster/#cant-upgrade-kubernetes
Additional Context
None

cc @kcoriordan

@karuppiah7890 I'm not quite sure why a cluster name would be required in this case, since you're just tanzufying an existing cluster that is in any case, managed externally and not by the tanzu unmanaged-cluster management part.

I'm not quite sure why a cluster name would be required in this case

Good point. Right now, unmanaged-cluster needs a name anytime create is called since it attempts to initilize a valid configuration regardless of if it's using an existing cluster or not.

since you're just tanzufying an existing cluster that is in any case, managed externally and not by the tanzu unmanaged-cluster management part.

This makes me think we should either
a) not require a name given an existing cluster
b) attempt to generate a dummy name (much like kind will) if none is provided, bypassing this case
Tagging @joshrosso - will discuss in our UX sync

Let's pull the name of the cluster from the provided kubeconfig. The cluster already has a name, so if the user provides a kubeconfig, just introspect the kubeconfig and use that name

Does this use case, generate any tanzu specific file? Where is that name used?

Information about the cluster will be populated under ~/.config/tanzu/tkg/unmanaged. The name used will be the name of the cluster in the kubeconfig file.
$ kind create cluster --name kind-test
Creating cluster "kind-test" ...
 ✓ Ensuring node image (kindest/node:v1.21.1) 🖼
 ✓ Preparing nodes 📦
 ✓ Writing configuration 📜
 ✓ Starting control-plane 🕹
 ✓ Installing CNI 🔌
 ✓ Installing StorageClass 💾
Set kubectl context to "kind-kind-test"
You can now use your cluster with:

kubectl cluster-info --context kind-kind-test

Thanks for using kind! 😊
~
$ k get nodes
NAME                      STATUS     ROLES                  AGE   VERSION
kind-test-control-plane   NotReady   control-plane,master   8s    v1.21.1
~
$ k config get-contexts
CURRENT   NAME                            CLUSTER          AUTHINFO            NAMESPACE
*         kind-kind-test                  kind-kind-test   kind-kind-test
~
$ ~/bin/tanzu uc create -e ~/.kube/config --cni=none

📁 Created cluster directory

🔧 Resolving Tanzu Kubernetes Release (TKR)
   projects.registry.vmware.com/tce/tkr:v0.17.0
   TKR exists at /home/smcginnis/.config/tanzu/tkg/unmanaged/bom/projects.registry.vmware.com_tce_tkr_v0.17.0
   Rendered Config: /home/smcginnis/.config/tanzu/tkg/unmanaged/kind-kind-test/config.yaml
   Bootstrap Logs: /home/smcginnis/.config/tanzu/tkg/unmanaged/kind-kind-test/bootstrap.log

🔧 Processing Tanzu Kubernetes Release

🎨 Selected base image
   projects.registry.vmware.com/tce/kind:v1.22.4

📦 Selected core package repository
   projects.registry.vmware.com/tce/repo-10:0.10.0

📦 Selected additional package repositories
   projects.registry.vmware.com/tce/main:v0.11.0

📦 Selected kapp-controller image bundle
   projects.registry.vmware.com/tce/kapp-controller-multi-pkg:v0.30.1

🚀 Using existing cluster
   Warning: Components installed using this method will need to be manually removed.

   To troubleshoot, use:

   kubectl ${COMMAND} --kubeconfig /home/smcginnis/.kube/config

📧 Installing kapp-controller
   kapp-controller status: Running

📧 Installing package repositories
   Core package repo status: Reconcile succeeded

🌐 Installing CNI
   No CNI installed: CNI was set to none.

✅ Cluster created

🎮 kubectl context set to kind-kind-test

View available packages:
   tanzu package available list
View running pods:
   kubectl get po -A
Delete this cluster:
   tanzu unmanaged delete kind-kind-test
~
$ tree ~/.config/tanzu/tkg/
bom/           compatibility/ config.yaml    providers/     .tanzu.lock    unmanaged/
~
$ tree ~/.config/tanzu/tkg/unmanaged/
/home/smcginnis/.config/tanzu/tkg/unmanaged/
├── bom
│   └── projects.registry.vmware.com_tce_tkr_v0.17.0
└── kind-kind-test
    ├── bootstrap.log
    └── config.yaml

@stmcginnis
I see, we save bootstrap.log and config.yaml. Is this installation process idempotent? Meaning, when I delete my existing cluster, this files won't be deleted. If I create again a cluster with this same name, would the process succeed and update this files? For named unmanaged cluster there's a check for existing config files and if they exist, cluster creation fails.

Can you clarify @jorgemoralespou ? Do you mean you have a cluster, you then use tanzu uc create -e [kube_config_path], then you delete the cluster using minikube or kind? In that case, tanzu uc create would still know about the cluster and would fail to create it again. At least that is what should happen once https://github.com/vmware-tanzu/community-edition/issues/3542 is fixed.
If by idempotent you mean just running that tanzu uc create call multiple times, that would not work. After working around the bug above to get the right context, if I try to run the uc create against the same cluster again I get:
$ tanzu uc create -e ~/.kube/config --cni=none
directory /home/smcginnis/.config/tanzu/tkg/unmanaged/kind-uctest already exists, this cluster must be deleted before proceeding
Error: exit status 2

✖  exit status 2

@stmcginnis yes, that's what I meant. And to me, that's a bad experience because now, deleting a cluster seems to be a 2 step process, delete the cluster in the real infrastructure/manager and then "delete/forget" in TCE uc list of clusters.

Yeah, that's fair. And "deleting" a cluster from TCE doesn't actually do anything to the cluster, so I think that could be a bit confusing too. Might be good to file an issue on this.


Set _FillValue

Fixes #177

@martindurant , I thought we wanted to set fill_value to be the value of _FillValue, not vice versa:
https://github.com/fsspec/kerchunk/issues/177#issuecomment-1159098241

The code linked in the issue is what I was going on

@rabernat to choose: when creating the zarr output metadata, fill_value overwrites _FillValue, or the reverse?

as far as I understand https://github.com/fsspec/kerchunk/issues/177#issuecomment-1158882019, we should always ignore the HDF5 dataset fill value because it is static and not part of the netcdf4 spec.

Well, https://docs.unidata.ucar.edu/netcdf-c/current/attribute_conventions.html says:

It is not necessary to define your own _FillValue attribute for a variable if the default fill value for the type of the variable is adequate. However, use of the default fill value for data type byte is not recommended.

So that means you'd use the default fill value defined in the netcdf4 library if _FillValue is not set?
For HDF5 datasets it seems the correct thing to do is what kerchunk currently does: translate the HDF5 fill_value property to zarr's fill_value.
Re-reading the comments in #177, I get the impression that @ajelenak and @rabernat actually disagree on what to do (I might very well be misunderstanding something, though): @ajelenak would prefer to expose both fill_value and _FillValue from xarray's zarr backend and have decode_cf decide which to use, while @rabernat would like to have kerchunk set zarr's fill_value to _FillValue for netcdf4 datasets.

It's not a question of what I would like or not like. My goal was to communicate how Xarray handles fill_value with Zarr.

When opening a Zarr store for reading, the Zarr array .fill_value is copied into the CF-style attribute _FillValue. So when the data are decoded whatever the the fill_value is presented to the user as NaN. In the code, you can see that any existing _FillValue attribute is overwritten. That is potentially a problem. However, that situation would never arise if you are using Xarray to write the data because...
When writing an array, the _FillValue attribute is removed from attributes and placed in fill_value of the zarr array (code).

Creating a kerchunk Zarr is analogous to Xarray writing a Zarr store. So I recommend you follow the same pattern here. If _FillValue is present in the attributes, move it .fill_value of the array. Do not set the _FillValue attribute. Xarray will set it when decoding the data.

detect the dataset type (netcdf or HDF)

I'm not sure this is a thing: all netCDF4 files are valid HDF5, but not vice versa; plus you can reasonably store netCDF datasets as parts of an HDF5 at some subpath.

well, the point is that netcdf4 does not use / set the HDF5 fill value, as far as I can tell, so we need to figure out which fill value to use with a particular dataset. That "detection" does not have to happen in code, though, it could just as well be a parameter to SingleHdfToZarr.

@keewis I see your point -- if the HDF5 file is generated with NetCDF4, it will have _FillValue defined and we should use that for the Kerchunk fill_value,  but if not we should use the HDF5 fill_value for the Kerchunk fill_value.

How about this version, then? Would someone like to test?

Working!  https://nbviewer.org/gist/ae2dc327960c41e97a97e512bdc55a30

Is there a fast/definitive way to tell if an HDF5 file was generated by NetCDF4?

It is probably not definitive, but https://github.com/pedro-vicente/netcdf-detect uses some internal attributes that the netcdf library sets to detect that. It is written in C, but it should be possible to do the same using h5py (see also this post and the follow-ups on the netcdf mailing list).

@keewis , so basically, check for:

an attribute named "_Netcdf4Dimid" (in some cases)
an attribute named "NAME", (always), saved by the HDF5 Dimension Scales API, that contains the string "This is a netCDF dimension but not a netCDF variable."

This utility tries to detect both attributes by traversing the HDF5 file, if either case is found, it returns a value of 1


feat(authors): sign amplified dev

Thanks a lot for writing this!

@TyDunn many thanks!

Appreciate it 💪


No updates since 21.12.2021

Hello,
I see https://github.com/justdomains/blocklists doesn't update since 2021. Thats sad because the lists are used by users and adblocker DNS Server.
Please take a look @swiftlyfalling

Also asking if lists have gone dark as noticed during my 6 month list audit.
Pete


Could you help me solve this issue?

Ghpr.NUnit.Settings.json could not be read

Hi @LiaoMin777 !
Please check that you have the latest version of the packages as the structure changed a little bit: https://github.com/GHPReporter/Ghpr.Core#about-settings-file
Please see Release notes for more details.
Thank you

Please feel free to come back with more questions or create a new issue/feature request.
Closing this one.


RLOS - Validation not updating when angle unit changed

When you change the unit of measure for angles from say degrees to mils the corresponding validation does not update as required, this is similar to issue #210 for Desktop but within Pro the OK button is disabled so the tool cannot be run:

verified