[FEAT]  sm-2 is outdated, can you please replace it with the fsrs algorithm?

sm-2 is outdated, can you please replace it with the fsrs algorithm?
https://github.com/open-spaced-repetition/fsrs4anki

Yes, this will be really great!

Is there any update on this? Is this something that is in the pipeline?

Hi @reinvanimschoot  thanks for the prompt, I just looked at https://github.com/open-spaced-repetition/fsrs4anki now.
Seems very well researched.
I'll have a look at how easy/difficult it would be to integrate, and post back here hopefully in a week or so.
Cheers
Ronny

@ronzulu awesome!

Hey guys!  This issue has already been addressed in https://github.com/st3v3nmw/obsidian-spaced-repetition/issues/516.
Additionally, a working implementation was made: https://github.com/open-spaced-repetition/obsidian-spaced-repetition-recall
It seems like an attractive idea to combine the two projects. But I don't know how hard it can be

Hi @MotaOcimar thanks for letting us know, I hadn't come across it before.
The project you reference https://github.com/open-spaced-repetition/obsidian-spaced-repetition-recall is a fairly up-to-date fork from our project itself.

It seems like an attractive idea to combine the two projects. But I don't know how hard it can be

Definitely worth investigating. If it doesn't work out, I'm sure looking at obsidian-spaced-repetition-recall will make it significantly easier for us to bring FSRS functionality into this project.
Thanks once again!

hi @ronzulu , glad to see you're planning to do this, this branch https://github.com/open-spaced-repetition/obsidian-spaced-repetition-recall works fine for now.
Please let us know if there is anything we can do to help.
If you're going to use this algorithm, the data structure of the cards will need a major refactoring. because I'm modifying it based on the master branch, it's a bit messy in that regard.

Hi @Newdea thank you so much for your kind offer, and all the work in creating the https://github.com/open-spaced-repetition/obsidian-spaced-repetition-recall branch.
I'm wondering if integrating the FSRS algorithm actually required the alternate tracked_files.json data store, or if you just preferred it.
I understand that the FSRS algorithm needs to keep track of much more information compared with SM-2, and keeping all that extra data in HTML comments would look ugly. Perhaps even distracting away from the questions. Is this the reason why you chose to integrate https://github.com/martin-jw/obsidian-recall?
Thanks
Ronny

hi Ronny,

I'm wondering if integrating the FSRS algorithm actually required the alternate tracked_files.json data store, or if you just preferred it.
I understand that the FSRS algorithm needs to keep track of much more information compared with SM-2, and keeping all that extra data in HTML comments would look ugly.

Just as you said, I like to keep notes clean without extra html comments, so that i can edit/share note easily. Beside, if using html comments, when reviewing notes/cards, the modify time of note file(*.md) will change, that will affect me when i hope look notes by modify time.
Of course, with Fsrs algorithm, card has more properties, if using html comments, when we edit note, we may change that by accident, then ahh .......
Therefore, I prefer to use separate file to save these data.

Yeah, looking forward to your result.

If what you said last comes true, it will literally be a gamechanger. You are amazing

FSRS has been integrated into RemNote recently.
Source: https://feedback.remnote.com/changelog/remnote-1-16-ultimate-spaced-repetition

Thanks @L-M-Sherlock, out of curiosity do you have personal experience with FSRS?

Of course. And I'm the author of FSRS.

It would be great if we implement it so it is possible to switch between different algorithms

It would be great if we implement it so it is possible to switch between different algorithms

Probably a necessity. I think that once we implement FSRS, the algorithm would still default to the current one, and that users would need to explicitly select FSRS.
I haven't looked at it for a few months, but @Newdea's project https://github.com/open-spaced-repetition/obsidian-spaced-repetition-recall could give us some ideas about this.
Because of the greater data requirements of FSRS, @Newdea doesn't support that algorithm with data stored in the markdown file itself (see earlier in this thread).

Hi all
I have completed the design changes that were required before being able to implement the enhancement requested here.
Those changes are available for beta testing at https://github.com/st3v3nmw/obsidian-spaced-repetition/pull/1006. If you are able to do any testing, that would be appreciated. It would assist on the path of getting a more robust plugin with this feature implemented.
Thanks
Ronny

Hi all
I have completed the design changes that were required before being able to implement the enhancement requested here.
Those changes are available for beta testing at #1006. If you are able to do any testing, that would be appreciated. It would assist on the path of getting a more robust plugin with this feature implemented.
Thanks Ronny

How to install beta version 「spaced repetition」plugin?

@ronzulu How are things going so far? Do you need my help?

Sorry @L-M-Sherlock  but work has become full on and I unfortunately haven't made any progress (since making the core changes necessary to support alternative algorithms).

Coming Soon
FSRS

Store scheduling info in a dedicated file (.yaml)
Migrate from one storage system to another
Implement FSRS
Update documentation
Source: https://github.com/st3v3nmw/obsidian-spaced-repetition?tab=readme-ov-file#coming-soon

Which step are we in now?

wow, looking for to seeing the FSRS integrated successfully


POI labels may be null ( v7 )

interesting ...
According the current v7 spec
POI labels: the name field of the poi_label layer may be null
 (in v6, nameless POIs were not included).
Nameless POIs will have never have a maki value of marker (the generic default).

so probably we need to remove the filters
https://github.com/osm2vectortiles/osm2vectortiles/blob/master/src/import-osm/mapping.yml#L840

POI labels: the name field of the poi_label layer may be null
(in v6, nameless POIs were not included).
Nameless POIs will have never have a maki value of marker (the generic default).

True.. size impact should be small since its only points (and names fields take usually space which are NULL now). Would also be included in the localrank algorithm (unnamed POIs are less important).
I can remove it in the test import I'm doing for #352


Fixing issue with ST 3.1 and bumping version

This PR fixes a compatibility issue introduced in ST 3.1 in this commit.
Basically, this added the possibility add module_kwargs in the config so that the model can leverage them for a specific processing, such as the dataset_embeddings of cde.
This fix allows to bump the version of ST to newer ones and also to handle such custom processing aswell (as we are extending the ST model).
Edit for more information: the load_sbert_model function set the self.modules_kwargs that are then used in the forward pass of the Transformer model if some are set in the config.json
Related issue: https://github.com/lightonai/pylate/issues/64

LGTM


Consider update version of Newtonsoft.Json

This project uses "Newtonsoft.Json": "6.0.6" therefore we have conflicts with other our assemblies because they use latest version 7.0.1. Old version of project used 7.0.1 version too (at least beta5)

The projects generally have the lowest allowed dependency. You can always upgrade the version of Json.NET that you're using by specifying the reference in your project's project.json file. We want to allow version 6.0.6 and newer, which includes 7.x.


Theme inheritance with children controls.

It seems a duplicate of https://github.com/MahApps/MahApps.Metro/issues/715 which I have looked and there is no InheritAccentColorsAndTheme in the current build of MahApps.Metro 1.2.4. Did this get deprecated? I currently am having the same exact issue. I would like some assistance to figure out how to re-enable that flag or if there is an error in my code.
I am currently using AvalonDock as well. I have the the metro window resources set to those as found in http://mahapps.com/guides/styles.html. One thing I do have to note is, my MainWindow isn't the entry point for the application. The window gets created later so I'm not sure if that has anything to do with it.
The way it works is I have a Binding for AvalonDock to automatically create the UserControl's
<avalonDock:DockingManager.Resources>                     <DataTemplate DataType="{x:Type ui:PluginViewModel}">                         <UserControl Content="{Binding MainControl}">                             <UserControl.Resources>                             </UserControl.Resources>                         </UserControl>                     </DataTemplate>                 </avalonDock:DockingManager.Resources>
Even setting the theme in the UserControl's ResourceDictionary doesn't work properly.
Here is an image, it looks like half of the theme gets applied while on others it doesn't.
http://i.imgur.com/ZYadLIl.png
Using .NET Framework 4.6.1
Here is the link to a test project that shows the same problem.
https://github.com/kiwidoggie/AvalonDockMVVMMetroBug

@kiwidoggie You should style the avalon LayoutItem, it's not a TabItem, it's a custom FrameworkElement from AvalonDock.


[Bug]: iam_root_mfa_enabled check reports fail when root user MFA is set.

Hi,
What happened wrong with MFA check?
The iam_root_mfa_enabled check fails, when I have a MFA set on root account it still report as FAIL.
How to reproduce it

Set up MFA on root user.
run the check using following command - python prowler.py aws --checks iam_root_mfa_enabled

Steps with Screenshots
On IAM page:

Only iam_root_mfa_enabled check result-

aws cli output -

Expected behavior
The check should mark this as passed.
From where are you running Prowler?
Resource: IAM
OS: Local Kali VM
Prowler Version [./prowler --version]: 3.1.4
Additional context
N/A

Hi @rucheat we are going to review this and let you know, thanks for using prowler !!!

Hi @rucheat right now that check gets the information from the credential report, it is weird the result, can you retrieve your credential report with:
 aws iam get-credential-report
and check if the field mfa_active for the account <root_account> is set to true or false?

There was no credential report generated so I got error.

I got it working and got correct output (PASS) once I generated credential report using following command -
aws iam generate-credential-report
I am not sure, it this a pre-requisite to generate credential before auditing using prowler?
It would be great if it is possible to generate report by prowler and then run the prowler audit (may be for all other checks as well to get accurate results).
Feel free to close this ticket.

Hi @rucheat, Prowler by default generates the credential report prior to execute the check, something weird should happen the first time you launched the tool.
Thanks for using Prowler !!


Improve timeout strategy

Sometime timeout should repeatedly warn, and loop without dying.
Some other time it's better to die quickly to detect an exception like node missing.
We need to improve the way we manage timeouts between client and rosnode, as well as from rosnode to the ros system ( exposed services, etc. )
Something like having a double timeout parameter might be what we want :

retry_timeout : timeout and then retry
except_timeout : timeout and then except

A method call should combine both to loop retrying until a final except ( if specified ).
This might be combined with custom futures to be able to keep doing stuff while we re stuck on some timeouts...

This will be really useful. Yeah sometimes if the node is not up then there is no use of wasting time with timeout. Do you have any thoughts how can this be taken forward?

Not much at the moment...
There are multiple point for which I m not fully certain yet :

this is a pyros issue, but it sounds like it depends on pyzmp communication and could be useful for any pyzmp user -> how about implementing this in pyzmp instead and having pyros follow whatever timeout API pyzmp currently has ?

2 ) pyzmp communication is done via service. The advantage of service is that your client can be anything, it doesnt have to be a node, and it doesnt have to know if the node is up or not. It only need to know the url ( can be hardcoded ) => quickly excepting because node doesnt exist might not be a valid choice here...
However it is a valid choice if the client is a node and somehow has access to the list of nodes it can access... => maybe there should be 2 ways to call a service ?? One with harcoded zmq url, one with discovery before getting the url ? Having some kind of node name service ?
3 ) always looping might also be a bad choice, if nobody is watching the log and nothing changes on the system because noone knows something is broken. Thats the case of an admin starting the pyros server node and going to do something else. If pyros is running we assume it is " working", whatever that means need to be refined I think...
For example a webserver can run but always return empty response or 404, but the webserver itself is "working". And the request always timeout. The choice to retry or not is left to the first initiator of the service call... and the error is meaningful enough to allow him to choose...


New musical instrument icons

Guitar, drums, cello, saxophone, harmonica, etc. You get the point. Thanks for the icons. They're great.

In making: Arrows and directions

+1 for me as well! Including various kinds of percussion and drums would be great!

We are currently working on the new icons and will publish them within 1 week


No Pod reachable from outside the cluster (Error: 'dial tcp <IP_ADDRESS>:9376: getsockopt: connection timed out')

I followed this great hint here

do you have another service running in your cluster that you could try and access via kubeproxy?

and the instructions in the docs on how to access k8s services from outside, trying to access the k8s service hostnames as described inside the Debug Services Guide. I tried to use the following URL to access this service from outside the cluster:
https://external.k8s:6443/api/v1/namespaces/default/services/http:hostnames:80/proxy/

This just gives a 503 Service Unavailable:
Error: 'dial tcp <IP_ADDRESS>:9376: getsockopt: connection timed out'
Trying to reach: 'http://<IP_ADDRESS>:9376/'

A curl directly from master-node with curl https://localhost:8080/api/v1/namespaces/default/services/http:hostnames:80/proxy/ -v gives:
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to localhost (<IP_ADDRESS>) port 8080 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* error:1408F10B:SSL routines:ssl3_get_record:wrong version number
* Closing connection 0
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number

Is our brave kubernetes-the-hard-way inspired cluster´s apiserver able to connect to the services & pods of our cluster altogether (see https://github.com/kubernetes/dashboard/issues/2340#issuecomment-328765833)??! 😭

Seems that using the correct k8s cluster name for the kubectl configuration has somehow fixed the problem: https://github.com/jonashackt/kubernetes-the-ansible-way/commit/cbe34d009bddb54d8b770f135222184a65ead78c

Created https://github.com/kelseyhightower/kubernetes-the-hard-way/issues/389, as it seems a general design problem of the kubernetes cluster.

Hmm, seems that Flannel needs to be present on the master nodes: https://stackoverflow.com/a/39179200/4964553

Now having Flannel also running on the master nodes, I´am able to access an application inside the Kubernetes cluster after executing the kubectl proxy command and accessing URLs like http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default in the Browser!

See also https://github.com/kubernetes/dashboard/issues/2340#issuecomment-424732856


getting blocked

I have noticed that my IP address is getting blocked by a bunch of other websites now (permission denied errors) - I have a feeling it's because of this tool.  Has anyone seen something like this happen?

This is expected. Most retailers do not like having their websites scraped. This is a risk associated with using this tool, and all similar ones.
If you absolutely need to use this tool, or a similar one, make sure you run it over a VPN.


update custom.css

Links in articles now get a color which differs more from the default font color.

this fixes  #4

Hi, closing this as it was discussed and resolved #22
Thanks.


Add Multiple Classes - #feat1

Currently, users can only add/search up to 1 class.
One idea would be to let users dynamically decide how many classes they want to search/add.

Currently Hardcoded


[NEMO-388] Off-heap memory management (reuse ByteBuffer)

JIRA: NEMO-388: Off-heap memory management (reuse ByteBuffer)
Major changes:

New executor option: memory_pool_size and chunk_size
MemoryPoolAssigner class is involved in block creation to use off-heap memory
ByteBuffer is now reused, wrapped by MemoryChunk

Tests for the changes:

MemoryChunk put/get tests are included

Other comments:

Design doc attached in JIRA will be edited soon

!rebuild

@hy00nc let me know when I can take a look. 😄

@hy00nc let me know when I can take a look. 😄

It's now ready 😁(travis seems to be not working at the moment)

Thanks for the work! I'll take a look tomorrow.

@hy00nc I did some investigations on DirectByteBufferOutputStream#release.
Please let me know if this makes sense. My suggestion:

Keep DirectByteBufferOutputStream#close empty
Remove DirectByteBufferOutputStream#release
Change from DirectByteBufferOutputStream#getDirectByteBufferList to DirectByteBufferOutputStream#getMemoryChunkList
In SerializedPartition#release, replace DirectByteBufferOutputStream#release with the direct invocation of memoryPoolAssigner.returnChunksToPool(dataList), and remove the offheap flag if possible. (Also using the "!committed" checker here to ensure that dataList is available would be nice)
In DirectByteBufferOutputStreamTest, remove all invocations of DirectByteBufferOutputStream#release, and create a separate test for MemoryPoolAssigner instead if needed

================================
Here is why.
ByteArrayOutputStream, which is part of the Java API, has the following methods

toByteArray(): returns a copy of the inner byte[]
close(): does nothing (empty)

I think the common pattern for using this class is:

instantiate a new object as a local variable, and write
toByteArray(): obtain a copied byte[]
close() (explicitly or by try-with-resources)
the local variable goes out of scope (the inner byte[] is garbage collected)
The copied byte[] is garbage collected independently (perhaps after inner byte[] is garbage collected)

I think it is good to use DirectByteBufferOutputStream similarly, although our class shares the same underlying byte[] rather than copying it. This is how we're using this class at the moment.

Instantiate a new object as a class-level variable, and write
getDirectByteBufferList(): obtain ByteBufferList that points to the inner byte[]
close() (explicitly or by try-with-resources)
We now have two pointers to the same data: (1) the DirectByteBufferOutputStream variable, and (2) ByteBufferList
release() on the stream
Both pointers now point to a 'cleared' byte[]

My issues with this pattern are:

ByteArrayOutputStream does not provide an API similar to release()
The relationship between close() and release() is a little confusing
There exist two methods that do the same thing: through releasing the stream or through directly releasing ByteBufferList
It may be better to isolate before-commit and after-commit behaviors in SerializedPartition

Hence the above suggestion. 😄

@hy00nc I did some investigations on DirectByteBufferOutputStream#release.
Please let me know if this makes sense. My suggestion:

Keep DirectByteBufferOutputStream#close empty
Remove DirectByteBufferOutputStream#release
Change from DirectByteBufferOutputStream#getDirectByteBufferList to DirectByteBufferOutputStream#getMemoryChunkList
In SerializedPartition#release, replace DirectByteBufferOutputStream#release with the direct invocation of memoryPoolAssigner.returnChunksToPool(dataList), and remove the offheap flag if possible. (Also using the "!committed" checker here to ensure that dataList is available would be nice)
In DirectByteBufferOutputStreamTest, remove all invocations of DirectByteBufferOutputStream#release, and create a separate test for MemoryPoolAssigner instead if needed

================================
Here is why.
ByteArrayOutputStream, which is part of the Java API, has the following methods

toByteArray(): returns a copy of the inner byte[]
close(): does nothing (empty)

I think the common pattern for using this class is:

instantiate a new object as a local variable, and write
toByteArray(): obtain a copied byte[]
close() (explicitly or by try-with-resources)
the local variable goes out of scope (the inner byte[] is garbage collected)
The copied byte[] is garbage collected independently (perhaps after inner byte[] is garbage collected)

I think it is good to use DirectByteBufferOutputStream similarly, although our class shares the same underlying byte[] rather than copying it. This is how we're using this class at the moment.

Instantiate a new object as a class-level variable, and write
getDirectByteBufferList(): obtain ByteBufferList that points to the inner byte[]
close() (explicitly or by try-with-resources)
We now have two pointers to the same data: (1) the DirectByteBufferOutputStream variable, and (2) ByteBufferList
release() on the stream
Both pointers now point to a 'cleared' byte[]

My issues with this pattern are:

ByteArrayOutputStream does not provide an API similar to release()
The relationship between close() and release() is a little confusing
There exist two methods that do the same thing: through releasing the stream or through directly releasing ByteBufferList
It may be better to isolate before-commit and after-commit behaviors in SerializedPartition

Hence the above suggestion. 😄

Thanks for the thorough review @johnyangk ! I think the above suggestion makes the APIs much cleaner. I will refactor the code like the above. And I will also think more about how to make a useful test for MemoryPoolAssigner.

So after addressing the comments, we now have two issues left to consider:

Whether it is worth including the code for random access of data using UNSAFE in MemoryChunk (which is not used except for tests in the project so far).

How to reuse (this is more focused on how clean the codes would be) the MemoryChunks that are used by other classes rather than SerializedMemoryBlock (i.e., NonSerializedMemoryBlock, FileBlock), since the current PR only includes reusing the MemoryChunk that belongs to SerializedMemoryBlock.

Any suggestions/ideas would help a lot 👍

Thanks @hy00nc.

Regarding 1: Let's include it this time. I'll take a closer look once a new PR that uses the random access methods comes up.
Regarding 2: It'd be good to implement this part as you suggested.

Please let me know when you want me to take a final look at the code and merge. 😄

Thanks @hy00nc.

Regarding 1: Let's include it this time. I'll take a closer look once a new PR that uses the random access methods comes up.
Regarding 2: It'd be good to implement this part as you suggested.

Please let me know when you want me to take a final look at the code and merge. 😄

@johnyangk thanks for the suggestions. I have implemented the reuse mechanism plz refer to this commit.
It will be a big help if you could review the overall fixes and edits in this PR.  Thank you😄

I addressed the requested changes. Thanks again for the suggestions and comments! I learned a lot from them👍

@hy00nc Thanks, I'll merge once the tests pass.


CSS displays wrong version (v0.2.3)

After upgrading CSS from 0.2.2 to 0.2.3 my server displays:

You are running a Simple Chocolatey Package Repository v<IP_ADDRESS>

I also get transform errors (related?) which I've previously documented (https://github.com/chocolatey/choco/issues/1482).
chocolatey.server v0.2.3 [Approved]
chocolatey.server package files upgrade completed. Performing other installation steps.
Transforming 'Web.config' with the data from 'Web.config.install.xdt'
Error transforming config file:
Data at the root level is invalid. Line 230, position 17.
Transforming 'Web.config' with the data from 'Web.config.install.xdt'
Error transforming config file:
Data at the root level is invalid. Line 230, position 17.
ShimGen has successfully created a shim for 7za.exe
The upgrade of chocolatey.server was successful.
Software installed to 'C:\tools\chocolatey.server'
Chocolatey upgraded 1/1 packages.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

The website pulls the information directly from the dll, so it means you didn't have a good upgrade. Something went wrong somewhere. So you should move to manually interject to have the upgrade be successful.
Yes you've previously documented the issue for transform errors - it's a known issue and determining the actual cause is what is the most difficult part.

I had a feeling that the displayed version was pulled from somewhere and my upgrade failed. :(

Under further investigation I've determined this is a self inflicted wound.
I didn't move the new files from the default installation path to my actual installation path. :)
Now that I've done that, I'm seeing the new information. Looks like you added a lot...I need to go read it.


ClientTag and ClientComment added

Coverage decreased (-0.7%) to 98.614% when pulling 3274debe5b7d46fd660e6260635f9621c9f518cd on types into d71bae01cb1546c1f9c8f2fabaab90a918265a07 on master.


CatalogSource DeppySource

User Story
As a user I would like to provide the entities served by my CatalogSource to the solver
Summary / Background
DeppySource will be sub-framework of the Deppy framework that will facilitate the transformation of online resource into entities and the querying of those entities.
CatalogSource is a format for distributing operators on kubernetes
Acceptance Criteria

Translates CatalogSource  content into Entities
Entities contain all the information necessary for building constraints (dependency relationships, generic properties, channel and upgrade graph properties, default channel
This will probably end up in its own repository eventually, therefore it should be placed in its own package s.t. it can just be yanked from the code-base without side-effects (aside from recalculating project dependencies for go.mod)

Scenarios

I have an OLM CatalogSource and would like to provide the contained bundles as entities for resolution

Assumptions
Links (docs, drawings, designs, etc)
Deppy-as-a-Framework
Dependencies

https://github.com/operator-framework/deppy/issues/44

Definition of Done

unit tests
integration tests (should be ok to create a mock service directly from the test)
extensive godoc (this is a framework after all)
reviewed and merged

OLM specific, we want deppy to be independed from OLM details. Also OLM already has something similar in operator-controller. Closing


"RuntimeError: Directory 'static/' does not exist" while importing in colab torch_snippets it is giving this error. What is the reason?

Can you share the notebook where you got the issue. Also, there was a breaking change in torch-snippets that might have caused the error. It is fixed now. Can you retry once?

Now it works fine without an issue


Incorrect table format in Markdown preview

Issue Type: Bug
I added a CSS file in the setting item "Markdown: Style".
The CSS code for element "table" and "thead" take effects. But the code for table elements "th" "td" "tr" "tbody" don't work at correctly.
 Please don't put private links into comments. Just drag-and-drop the image into the comment.

My CSS code:

The table looks like this:

Please share the css and markdown source as text

Initially I found the strange table display in my articles written by Markdown when I copied my CSS code for the extension " Markdown Preview Enhanced" to the CSS file for VS Code default preview. Then I did some tests to see what is wrong with it, using very simple table.
Markdown Text of Sample Table
| text | text | text | text |
|:----:|:-----|:-----|:-----|
| text | text | text | text |
| text | text | text | text |
| text | text | text | text |

Test Cases
Base Case
The decoration for
 and
 looks good.
CSS
table {
    margin: 0 auto;
    border-top: 2pt solid;
    border-bottom: 2pt solid;
    font-size: 9pt;
  }

 thead {
    border-bottom: 2pt solid;
  }

Preview

Case 1
Change: Add border to .
Result: The decoration for  takes effect on the first row (
) of
, but the s in the other
 elements of
 and the  elements in
 were not influenced.
CSS:
table {
    margin: 0 auto;
    border-top: 2pt solid;
    border-bottom: 2pt solid;
    font-size: 9pt;
  }

 thead {
    border-bottom: 2pt solid;
  }

 td {
    border: 1pt solid;
  }

Preview

Case 2
Change: Add border to all descentdants of
.
Result: The decoration takes effect on the first row (
) of
, but the s in the other
 elements of
 were not influenced.
CSS
table {
    margin: 0 auto;
    border-top: 2pt solid;
    border-bottom: 2pt solid;
    font-size: 9pt;
  }

 thead {
    border-bottom: 2pt solid;
  }

 tbody * {
    border: 1pt solid;
  }

Preview

Case 3
Change: Add border to
.
Result: The decoration takes effect on the left border and right border of
, but the top border and the bottom border were not decorated.
CSS
table {
    margin: 0 auto;
    border-top: 2pt solid;
    border-bottom: 2pt solid;
    font-size: 9pt;
  }

 thead {
    border-bottom: 2pt solid;
  }

 tr {
    border: 1pt solid;
  }

Preview

Case 4
Change: Add border to the bottom of
.
Result: The decoration don't work.
CSS
table {
    margin: 0 auto;
    border-top: 2pt solid;
    border-bottom: 2pt solid;
    font-size: 9pt;
  }

 thead {
    border-bottom: 2pt solid;
  }

 tr {
    border-bottom: 1pt solid;
  }

Preview

I then test the left-border and right-border decoration for
, they did add the according border the table. So the conclusion in Case 3 is ture.

Here's the html of that markdown table:

I believe the behavior of the CSS is correct based on this html and when you consider the default markdown styling that VS Code contributes. With the markdown preview open, you can use the Developer: Open webview developer tools command to inspect the html and css.
However I will adjust some of these css rules to make overriding these styles easier

For verification, to override the typing on an element such as td, you should now be able to write a rule like:
.vscode-body td {
    border: 1pt solid white;
}

Alternatively, you can use a theme specific selector:
.vscode-dark td {
    border: 1pt solid white;
}

Ok, I see.
Thank you very much!


Send messages while install proccess

Hi thank you for responding in my previous issue but while installation (my use case is just bunch of scripts installing software) after some time install screen looks like this

but is there way to send messages in installer like Installing X...  that can be managed by me cause installer looks "frozen" is there way how to deal with it? Thanks.

Also there is option pkg_allow_relocation how can be it disabled. False parametr crashes building thanks.

Hi, to answer:

No way to configure what macOS' Installer UI displays
Could you provide a crash log?

Testing locally here, I'm able to set pkg_allow_relocation to false without it crashing.
However something to keep in mind is pkgutil's BundleIsRelocatable is only configurable if there is a valid bundle inside the PKG (ex. .app, .framework., .bundle, etc). This is what the pkg_allow_relocation  option configures. Will update the documentation to include this note.


Proper debugging functionalities

Create a proper toggleable debug mode and adapt all output accordingly.

Support for SLF4J logging with e2755f4343d6f8d06d8cf8db211bcbc42a99e002.


se v3

space exploration has released a new version(3) and it makes this mod incompatible due to some changes with the naming of the research tree. I have tried to list all the changes I had to make to fix the compatibility. Are you interested in the list so that it is easier to fix the mod? or should I just run a pull request?

@suisseWalter Please if you want create a PR if you can, I'll check it out and accept it :)

I have created a PR with the necessary changes.
I will probably do another one with some recipes for the delivery canon, when I find time to do so.

Thank you!
Merge has been made and published to mods portal and you're mentioned as contributor in GitHub release :)

https://github.com/dennisahlin/space-exploration-loves-bob/pull/2 Closed this issue


Add WFC3 notebook 'wfc3_exception_report.ipynb'

Relevant Tickets

SPB-1622

This notebook checklist has been made available to us by the Notebooks For All team.
Its purpose is to serve as a guide for both the notebook author and the technical reviewer highlighting critical aspects to consider when striving to develop an accessible and effective notebook.
The First Cell

[ ] The title of the notebook in a first-level heading (eg. <h1> or # in markdown).
[ ] A brief description of the notebook.
[ ] A table of contents in an ordered list (1., 2., etc. in Markdown).
[ ] The author(s) and affiliation(s) (if relevant).
[ ] The date first published.
[ ] The date last edited (if relevant).
[ ] A link to the notebook's source(s) (if relevant).

The Rest of the Cells

[ ] There is only one H1 (# in Markdown) used in the notebook.
[ ] The notebook uses other heading tags in order (meaning it does not skip numbers).

Text

[ ] All link text is descriptive. It tells users where they will be taken if they open the link.
[ ] All acronyms are defined at least the first time they are used.
[ ] Field-specific/specialized terms are used when needed, but not excessively.

Code

[ ] Code sections are introduced and explained before they appear in the notebook. This can be fulfilled with a heading in a prior Markdown cell, a sentence preceding it, or a code comment in the code section.
[ ] Code has explanatory comments (if relevant). This is most important for long sections of code.
[ ] If the author has control over the syntax highlighting theme in the notebook, that theme has enough color contrast to be legible.
[ ] Code and code explanations focus on one task at a time. Unless comparison is the point of the notebook, only one method for completing the task is described at a time.

Images

[ ] All images (jpg, png, svgs) have an image description. This could be

[ ] Alt text (an alt property)
[ ] Empty alt text for decorative images/images meant to be skipped (an alt attribute with no value)
[ ] Captions
[ ] If no other options will work, the image is decribed in surrounding paragraphs.

[ ] Any text present in images exists in a text form outside of the image (this can be alt text, captions, or surrounding text.)

Visualizations

[ ] All visualizations have an image description. Review the previous section, Images, for more information on how to add it.

[ ] Visualization descriptions include

[ ] The type of visualization (like bar chart, scatter plot, etc.)
[ ] Title
[ ] Axis labels and range
[ ] Key or legend
[ ] An explanation of the visualization's significance to the notebook (like the trend, an outlier in the data, what the author learned from it, etc.)

[ ] All visualizations and their parts have enough color contrast (color contrast checker) to be legible. Remember that transparent colors have lower contrast than their opaque versions.

[ ] All visualizations convey information with more visual cues than color coding. Use text labels, patterns, or icons alongside color to achieve this.

[ ] All visualizations have an additional way for notebook readers to access the information. Linking to the original data, including a table of the data in the same notebook, or sonifying the plot are all options.

@camipacifici & @haticekaratay I'm not sure how to fix the remaining error. Is it a problem with the scipy version? If so, how can I determine which version to upgrade to? After this is fixed everything should be ready to go

@camipacifici & @haticekaratay I'm not sure how to fix the remaining error. Is it a problem with the scipy version? If so, how can I determine which version to upgrade to? After this is fixed everything should be ready to go

Hi @bjkuhn, thank you for your work on the notebook. I understand that you encountered a scipy installation error. To replicate the same error on your computer, I recommend creating a new environment with python=3.11 each time you work on a new notebook. Additionally, you should install the dependencies specific to that notebook. By doing this, you'll be able to encounter the same error as you see in the logs.
You asked how to see which dependencies to update. You can do this by comparing the pinned version of the dependency that's failing for you with the latest version available on PyPI. After that, you should run pip install -r requirements again and see if the installation is successful on your local machine. By doing so, you can manually update and resolve any version conflicts that you might encounter.
If you have any further questions, please let me know.

@haticekaratay thank you for all your help. I've gotten everything taken care of and the notebook, readme, requirements, and docs under this branch (add_wfc3_exception_report_notebook) should be ready for final review. Please let me know if there's anything else I need to complete.

Thank you @haticekaratay! I have made the suggested changes. Please let me know if there's anything else I need to do for this notebook


Gradle throws a webpack-related error on :frontend:npm_run_start

Hi. I followed the setup instructions and I am getting this error.
:frontend:build
:frontend:npm_run_start

><EMAIL_ADDRESS>start /home/rocky/DevSpace/espace/spbootng2/frontend
> npm run server:dev

><EMAIL_ADDRESS>server:dev /home/rocky/DevSpace/espace/spbootng2/frontend
> webpack-dev-server --config config/webpack.dev.js --port 3000 -d --progress --profile --watch --content-base src/

/home/rocky/DevSpace/espace/spbootng2/frontend/node_modules/webpack-dev-server/bin/webpack-dev-server.js:376
                throw e;
                ^

TypeError: webpack.validateSchema is not a function
    at new Server (/home/rocky/DevSpace/espace/spbootng2/frontend/node_modules/webpack-dev-server/lib/Server.js:23:33)
    at startDevServer (/home/rocky/DevSpace/espace/spbootng2/frontend/node_modules/webpack-dev-server/bin/webpack-dev-server.js:369:12)
    at processOptions (/home/rocky/DevSpace/espace/spbootng2/frontend/node_modules/webpack-dev-server/bin/webpack-dev-server.js:307:3)
    at Object.<anonymous> (/home/rocky/DevSpace/espace/spbootng2/frontend/node_modules/webpack-dev-server/bin/webpack-dev-server.js:431:1)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
    at Module.runMain (module.js:590:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3

npm ERR! Linux 4.8.0-27-generic
npm ERR! argv "/home/rocky/DevSpace/espace/spbootng2/frontend/node/node-v6.4.0-linux-x64/bin/node" "/home/rocky/DevSpace/espace/spbootng2/frontend/node_modules/.bin/npm" "run" "server:dev"
npm ERR! node v6.4.0
npm ERR! npm  v3.10.6
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>server:dev: `webpack-dev-server --config config/webpack.dev.js --port 3000 -d --progress --profile --watch --content-base src/`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>server:dev script 'webpack-dev-server --config config/webpack.dev.js --port 3000 -d --progress --profile --watch --content-base src/'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the spring-boot-angular2 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     webpack-dev-server --config config/webpack.dev.js --port 3000 -d --progress --profile --watch --content-base src/
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs spring-boot-angular2
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls spring-boot-angular2
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/rocky/DevSpace/espace/spbootng2/frontend/npm-debug.log

npm ERR! Linux 4.8.0-27-generic
npm ERR! argv "/home/rocky/DevSpace/espace/spbootng2/frontend/node/node-v6.4.0-linux-x64/bin/node" "/home/rocky/DevSpace/espace/spbootng2/frontend/node_modules/npm/bin/npm-cli.js" "run" "start"
npm ERR! node v6.4.0
npm ERR! npm  v3.10.6
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>start: `npm run server:dev`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script 'npm run server:dev'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the spring-boot-angular2 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm run server:dev
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs spring-boot-angular2
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls spring-boot-angular2
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/rocky/DevSpace/espace/spbootng2/frontend/npm-debug.log
:frontend:npm_run_start FAILED

By the way, sorry for this noob question. But, where is the code in spring-boot (or back-end proj) that points to ng2? That is, say this project is in production and you type www.mydomain.com in your browser. So, when the browser contacts mydomain.com (our sboot server), it has to get back the html that's produced by ng2 right? Where is the code that makes the connection between sboot & ng2? How does it work?

I'm getting the exact same error.. :(

This fixed it:
http://stackoverflow.com/questions/40597626/webpack-validateschema-is-not-a-function

@srix55 @flaviocordova @PogoMips i'll have to look into this soon, i apologize for my absence guys.

@srix55 @flaviocordova @PogoMips alright, there has been an update and new release tagged v1.1.0 going to close out this issue. Let me know if you guys have anymore trouble!


update submodule libgit2 to new commit to fix 'omits non-default port numbers'

Update submodule commit to use fixed version of libgit2 - #405

Hm. Not sure what is causing the above build failures.
In the libgit2-sys/libgit2 submodule folder, I ran git checkout 4ef2b889a.
Back in the top level folder I ran cargo test, and all was well.

@bhamail There is a separate package that needs to be run separately (cargo run --manifest-path systest/Cargo.toml).  You can see the commands that run during CI in the config (https://github.com/rust-lang/git2-rs/blob/master/ci/azure-test-all.yml).
Also, I would expect it would be good to update to the latest release, and there will likely be some work necessary to deal with any breakage and build issues.

@ehuss Thanks for looking this over. I tried to drill into the cause of the failures of the systest command, but I'm stuck. Here's the error (w/ backtrace). FWIW, I did a cargo clean on both the top level project and the submodule before this error.
The details of the CI build failures seem to be showing this same error, so maybe we'll get lucky and fixing this error will fix them all.
export RUST_BACKTRACE=1
cargo run --manifest-path systest/Cargo.toml
...
    Finished dev [unoptimized + debuginfo] target(s) in 2.78s
     Running `target/debug/systest`
RUNNING ALL TESTS
bad GIT_DIFF_INDENT_HEURISTIC value at byte 2: rust: 0 (0x0) != c 4 (0x4)
bad GIT_DIFF_INDENT_HEURISTIC value at byte 3: rust: 128 (0x80) != c 0 (0x0)
thread 'main' panicked at 'some tests failed', /Users/bhamail/sonatype/community/rust/git2-rs/target/debug/build/systest-05071433ad5c0557/out/all.rs:13:21
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:71
   2: std::panicking::default_hook::{{closure}}
             at src/libstd/sys_common/backtrace.rs:59
             at src/libstd/panicking.rs:211
   3: std::panicking::default_hook
             at src/libstd/panicking.rs:227
   4: <std::panicking::begin_panic::PanicPayload<A> as core::panic::BoxMeUp>::get
             at src/libstd/panicking.rs:491
   5: std::panicking::begin_panic
             at /rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/libstd/panicking.rs:425
   6: systest::main
             at ./target/debug/build/systest-05071433ad5c0557/out/all.rs:13
   7: std::rt::lang_start::{{closure}}
             at /rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/libstd/rt.rs:74
   8: std::panicking::try::do_call
             at src/libstd/rt.rs:59
             at src/libstd/panicking.rs:310
   9: panic_unwind::dwarf::eh::read_encoded_pointer
             at src/libpanic_unwind/lib.rs:102
  10: <std::panicking::begin_panic::PanicPayload<A> as core::panic::BoxMeUp>::get
             at src/libstd/panicking.rs:289
             at src/libstd/panic.rs:398
             at src/libstd/rt.rs:58
  11: std::rt::lang_start
             at /rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/libstd/rt.rs:74
  12: <usize as systest::Pretty>::pretty

I'm not sure where to dig next.
Re 'latest release': I did initially try updating to the latest libgit2 release, but ran into some build errors that I was unable to fix the first few times around. If we could get this smaller patch merged, that would resolve the current log jam. I'm willing to come back and work on updating to the latest release after that (w/ the assumption I'll be pestering you with more of my silly noob questions).

The ctest is showing that the GIT_DIFF_INDENT_HEURISTIC const value has changed to 1 << 18.  In libgit2-sys/lib.rs that constant value needs to change.
Also, I'm getting a seg fault in the all test.  It looks like due to the introduction of custom allocators, git2_curl::register needs to call libgit2_sys::init first.  I don't immediately see anything else that needs to do that, hopefully there is enough coverage in the tests to ensure that.

Zoinks! It appears the CI build is happy now. Thanks @ehuss for the help!

👍

Ah, yea, this is definitely better, sorry for the confusion!
@bhamail Do you think you'll be able to look at further updating to a newer version from here?  If not, I can take a look at the build issues.

@ehuss Feel free to look into build errors with a newer version. I will try to take a look next week, if you haven't already done it. Thanks again for all the help.

@ehuss I finally got back to trying to build against the latest libgit2. I was happy to find @cuviper beat me to it, and has already updated to the latest release from that project. Thanks @cuviper.


Feat (ui): Add VAE Model to Recall Parameters

What type of PR is this? (check all applicable)

[ ] Refactor
[X] Feature
[X] Bug Fix
[ ] Optimization
[ ] Documentation Update
[ ] Community Node Submission

Have you discussed this change with the InvokeAI team?

[ ] Yes
[X] No, because: it is 2 am est

#4796
Have you updated all relevant documentation?

[ ] Yes
[X] No

I don't believe there is any documentation explicitly referencing the recall parameters.
Description
This code changes allows users to recall the VAE model as a Recall Parameter. The VAE model is now part of the "recall all parameters" setting. There is room to add the VAE Precision to the metadata and also making that a recall parameter..
Related Tickets & Documents

Related Issue #4796
Closes #4796

QA Instructions, Screenshots, Recordings

Generate an image using a VAE other than default.
Select that generated image, change the VAE model, and select "Use All"
VAE model should change in the UI.
VAE model is available in "recall parameters" of the metadata section.

https://github.com/invoke-ai/InvokeAI/assets/22108632/04a52722-6faf-4ab4-b414-81806fe4aa54

Added/updated tests?

[ ] Yes
[X] No : no frontend test suite

[optional] Are there any post deployment tasks we need to perform?

This PR may not be considered "complete" as it does not recall the "default" VAE model if that is selected. I think that this would need the addition of adding the default VAE to the metadata, as of right now, if the VAE model is default it is not added in the generated images metadata.

Last note for tonight, I also noticed that the naming for VAE is a bit inconsistent around the frontend, it seems it is either VAE or VAE Model, but they both refer to the same thing.

Yep as you noted, lets add some additional logic to check if the vae is nullish when recalling all, and if so, set it to null.
Looking good otherwise!
Stretch goal: check the RTK Query cache when recalling the VAE to ensure it is actually available on the system. Happy to have this be a future change, and we should do the same for when we recall a main model.

@psychedelicious added the check for nullish variables. It is a bit verbose imo, but I am not sure if it is worth making it harder to read to reduce the code.
Also debating on adding similar logic to ImageMetadataActions.tsx so that vae is displayed as "Default" when nullish. I am ignorant as to when this would be used in the event that VAE is not present for a reason. I guess it seems strange to me to be making all the exceptions for this one field but not all the others when null. Maybe overthinking.

I guess it lead me to question, if the VAE is undefined, it is okay to assume we oughta force the default VAE model on the parameters?

I guess it lead me to question, if the VAE is undefined, it is okay to assume we oughta force the default VAE model on the parameters?

This behavior makes sense to me

Agreed, I added that in the latest commit.


Matrix sum in Neural network's cost function

Hi Jordi,
First of all, thanks so much for the notebooks. They really help me to follow through the course.
I have one question in your notebook 4, nnCostFunction -- where J = ... np.sum((np.log(a3.T)*(y_matrix)+np.log(1-a3).T*(1-y_matrix))).
I think this does matrix multiplication --> giving 10*10 matrix (or n_label * n_label). This gives a matrix, let's name this cost-matrix, Jc. This Jc matrix contains not only how a set of predicted values for one label differs from it's corresponding target (diagonal elements), but also how it is differs from targets of other labels (off-diagonal elements). For example, the multiplication would multiply a column of predicted values np.log(a3.T) of one label (e.g. k) with all columns of targets.
Then the code sums all elements of this matrix. This seems to over-calculate J. Instead of summing all the elements, I think only the diagonal elements are needed.
Please use this picture to accommodate my description, which might be confusing.

Please let me know if I misunderstood the code.
Best regards and thanks again,
-Tua

Hi Tua,
The code you refer to above is the implementation of the Regularized Cost Function shown just above the code in the notebook and in section 1.4 of the Coursera exercise document. It will return a single, scalar value (not a matrix) assigned to variable J.
I am not sure I understand what you mean with 'over-calculating' cost J.

Hi Jordi,
I understand that the code is the implementation of the Regularized Cost Function shown above it.
What I meant is, I think the np.sum in J = -1*(1/m)*np.sum((np.log(a3.T)*(y_matrix)+np.log(1-a3).T*(1-y_matrix))) should be replaced with summing only the diagonal elements of ((np.log(a3.T)*(y_matrix)+np.log(1-a3).T*(1-y_matrix)). Because np.sum would sum all the elements of the e.g. the output matrix in the image below. And it will not be the same as the Regularized Cost Function the code refers to.
For simplicity, I only wrote the output of (np.log(a3.T)*(y_matrix) but the same argument apply for np.log(1-a3).T*(1-y_matrix).

Please let me know your thoughts.
Best regards,
-Tua


Missing TTL validation in actor timers

In what area(s)?

/area runtime

/area operator

/area placement

/area docs

/area test-and-release

What version of Dapr?

edge
Expected Behavior
If timer is expired before starting, an error should be returned.
Actual Behavior
If timer is expired before starting, a warning is logged

/assign


Ready for v2.0.0-rc.1

Coverage increased (+0.3%) to 99.376% when pulling 5dc29dc5416e6e908a64c668510a41edcb6ba55a on development into 5fb27eb50135d3471b9d1eb5f48c93e682134885 on master.


⚠ Bofrost.fr has degraded performance

In 271380b, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 850 ms

Resolved: Bofrost.fr performance has improved in 79accd4 after 6 minutes.


"Changes" link on list of page revisions returns error

Describe the bug
When looking at a page's revisions, clicking "Changes" on a page in the list shows a page which reads "An Error Occurred. An unknown error occurred." with a link to the homepage.
Steps To Reproduce

Go to a page with a few revisions.
Click "Changes" for one of the entries.
Error.

Expected behavior
I'm not sure, I've never seen it work properly.
Screenshots

Your Configuration (please complete the following information):

Exact BookStack Version (Found in settings): v0.28.3
PHP Version: 7.3
Hosting Method (Nginx/Apache/Docker): Apache

Hi @wlabarron,
Do you know if you have the php-tidy PHP extension installed?
That would be my first guess if this occurs on any page in your instance.

php-tidy isn't listed when I run phpinfo(); inside my public directory.

@wlabarron Ideally there should be some mention of Tidy in there. What operating system are you running BookStack on and what method did you use to install it?

I followed the Manual Installation Instructions, and it turns out I do have tidy installed (I searched the page for php-tidy originally, hence no results). I'm on shared hosting, I know that it's not officially supported, but I was able to run all the install commands without issue so I ran with it. Looks like my server is running Red Hat, or at least that's what's listed in /proc/version.

@wlabarron Okay, Thanks for confirming.
This page details how you can enable debug mode in BookStack:
https://www.bookstackapp.com/docs/admin/debugging/
Could you follow that to gain more information and hopefully we'll get a handy error message when you click changes with debugging enabled.

@ssddanbrown Yep, got an exception (on a very lovely error page): Required Tidy extension not found. Odd, since it is listed in phpinfo(). Running composer show, however, doesn't list tidy.

@wlabarron  Hmm, Might be worth checking your php.ini file to see if the tidy extension is commented out in there.

@ssddanbrown There's no .ini inside my BookStack installation folder. There is one in my home directory which it's probably inheriting info from, but that has no mention of the Tidy extension. Should there be one in my installation folder?

This issue has resolved itself - seems like one of the last couple of updates has fixed whatever was set wrong.

@wlabarron Awesome, Thanks for confirming. Will therefore close.


Eyes tracking hysteresis

Improved the gaze retargeting by adding a series of hysteresis and quantizations

I think this PR is ready @kouroshD

Hi @S-Dafarra . Thank you for that, I will try to review it in this week.

@kouroshD friendly ping

@S-Dafarra before merging, can I rebase the code, or you prefer to do it?

@S-Dafarra before merging, can I rebase the code, or you prefer to do it?

Yes go on, no problem :wink:


Errors loading Logitech G502 in Arch Linux

Hello. I'm trying to load my Logitech G502 mouse into ratbag, however I am running across issues loading the device.
For starters, Piper doesn't recognise the mouse, and when I check the device with
sudo ratbag-command list, my shell returns:
“sudo ratbag-command list” terminated by signal SIGSEGV (Address boundary error).
systemctl-status of ratbagd.service returns the following:
● ratbagd.service - Daemon to introspect and modify configurable mice
  Loaded: loaded (/usr/lib/systemd/system/ratbagd.service; enabled; vendor preset: disabled)
   Active: failed (Result: core-dump) since Fri 2017-03-24 16:38:22 AEDT; 20min ago
 Main PID: 1881 (code=dumped, signal=SEGV)
Mar 24 16:38:22 arch-desktop-26 systemd[1]: ratbagd.service: Unit entered failed state.
Mar 24 16:38:22 arch-desktop-26 systemd[1]: ratbagd.service: Failed with result 'core-dump'.
Mar 24 16:38:22 arch-desktop-26 systemd[1]: ratbagd.service: Service hold-off time over, scheduling restart.
Mar 24 16:38:22 arch-desktop-26 systemd[1]: Stopped Daemon to introspect and modify configurable mice.
Mar 24 16:38:22 arch-desktop-26 systemd[1]: ratbagd.service: Start request repeated too quickly.
Mar 24 16:38:22 arch-desktop-26 systemd[1]: Failed to start Daemon to introspect and modify configurable mice.
Mar 24 16:38:22 arch-desktop-26 systemd[1]: ratbagd.service: Unit entered failed state.
Mar 24 16:38:22 arch-desktop-26 systemd[1]: ratbagd.service: Failed with result 'core-dump'.
sudo udevadm info /sys/class/input/eventX | grep RATBAG_DRIVER returns
Unknown device, --name=, --path=, or absolute path in /dev/ or /sys expected.
Keep in mind, I installed via the AUR. I'm still not sure why the daemon is resulting in a core dump and a segmentation fault.

That's a packaging issue. Libratbag 0.6 broke the ABI, so I bumped the .so version. ratbagd simply needs to be recompiled against the new libratbag for it to find the new symbols and not core dump.
@r3pek can you please rebuild ratbagd in AUR?

@bentiss done ;)


[DO NOT MERGE] WIP: use ID mapping features to add userns support

This PR updates containers/storage and containers/image to their current master revisions, and uses the new feature to run pods and containers in user namespaces.

Still a WIP, but for now I'd like to let CI chew on it for cases where none of the new features are configured.

My main concern (and I haven't reviewed this very deeply since it was just posted) is how we are going to handle mappings for different containers:

There is the (much less secure) Docker way, where you pre-set what mappings will be used for all containers; and
There is the rkt/LXC way, where you allocate unique blocks of ids for mapping each container (more secure because it prevents cross-container access problems). From memory the main blocker for efficiently doing the second technique was the lack of a "mapping bind mount" feature in the kernel that allows for remaps of the ids.

Which kind of mapping are we planning on supporting in the long-term?

Doh, I'm not sure I answered your question.  At the least, I expect to be able to do per-pod mapping.  Per-container might be harder to pull off due to how user namespaces interact with other types of namespaces, so sharing some but not others may not be possible, but I'd rather not make it impossible in the implemenation.

@cyphar We can do it step by step. So something like what docker did first and then per pod support after that. That will require discussions in kubernetes about how it will be exposed. It still doesn't stop us from making progress on the lower level bits here.

Only just today noticed the comment in the definition of PodSandboxConfig about annotations being useful for experimenting with features in a runtime.
The way we add mapping annotations to sandboxes and containers doesn't really comply with the spec (we may end up supplying defaults that weren't requested of us, and we're not allowed to change annotation values), so this still needs work, but it should provide us with an avenue for experimenting with per-container mapping by setting io.kubernetes.cri-o.UIDMappings and io.kubernetes.cri-o.GIDMappings annotations to JSON-encoded arrays of runtime LinuxIDMapping structs.

That will require discussions in kubernetes about how it will be exposed. It still doesn't stop us from making progress on the lower level bits here.

My (personal) view is that Kuberentes shouldn't have to tell us what UID mappings to use. Instead, it should tell us if there are specific mappings that it wants us to make (for instance for hostPath and making sure we can access stuff from other containers, or IPC-related things). This would match how LXC (in theory) works -- you get a unique mapping that you don't necessarily care about, but individual IDs are "punched through" in the space. This is actually the justification for the recent expansion of the limit of user namespace mappings (from 5 to over 400) -- one of the LXC folks (@brauner) worked on this to make it easier to support these sorts of scenarios.
Now, this would be more complicated to deal with than just piping through the mappings that Kubernetes gives us, but in my view it would reduce the need for Kubernetes to make security policy decisions that should be up to the container runtime and not Kubernetes.

The difficult thing would be kubernetes handling the container volumes and making sure the volume UID/GID work in the UIDMapping of the container.  In SELinux we allow the container runtime to pick the SELinux label randomly to guarantee separation, but we need some kind of support for volume to be readable or read/writable inside of the container.

@cyphar The issue will be with volumes as @rhatdan pointed out. We will be collaborating on the upstream proposal to kubernetes and will keep you in the loop there. Also, we have the same end goal of per pod mapping :)

@rhatdan @mrunalp

The difficult thing would be kubernetes handling the container volumes and making sure the volume UID/GID work in the UIDMapping of the container.

This is something that can be solved by the "punching out" of parts of the namespace that I mentioned. I'd really recommend looking at how LXC solves this problem. The main downside is that doing this requires Kubernetes to tell us what UIDs need to be consistent -- so it's not a feature that can be added after-the-fact (it needs to be designed for). The simple way of doing it (just getting Kubernetes to pass us the mappings) would allow for this too, but then it requires Kubernetes to make security decisions that really should be up to the container runtime IMHO.

@giuseppe Is driving this one through, so I am going to close this PR.


[Feature Request]: Addition of extra cards and improving styling of Local Events and Festivals

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
I will add more cards and will improve the styling using css
Use Case
it will give attractive look to webpage
Benefits
No response
Add ScreenShots

No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[ ] I'm a VSOC'24 contributor
[X] I have starred the repository

I would like to work on this . please assign to me

@DiwareNamrata23 u are assigned


Modal refactor + PropProvider app environment

Modal refactor + PropProvider app environment
Whoa! A pretty big update, and a big step forward for Blue. This update improves 2 things:
Modal: Refactor + Rig up
This update refactors Modal (and all of it's sub-components) with the latest Blue conventions, including:

CSS-in-JS (SCSS has been removed)
Namespacing
propConnect
Mount based testing

A beta build was tested with Beacon to ensure there are no regressions 👍
PropProvider: App environment!

(Above screenshot shows the Modal switching between app environments)
This is an exciting one~! Strategized + 🍐 with @knicklabs on this approach.
Supported components can render differently for different app environments. To specify an app environment, pass the app name as app to PropProvider
<PropProvider app="hs-app">
  ...
  <Modal />
  ...
</PropProvider>

In the above example, the Modal component will render with the hs-app theme and behaviours.
This is accomplished be coordinating props (and secret namespaces) between PropProvider and the connected components. The special app environment is safe to pass into regular React components as well as CSS-in-JS styled components, allowing either one to adjust it's behaviours as needed.
Performance

Tests have been done to ensure the App environment + rendering performs one. In the above screenshot, you can see that Modal (a very complicated component) only re-renders once as the app environment changes (and does not remount).
Other refactors
Components connected to PropProvider receive a slight refactor to wrap the ...rest spread with getValidProps for safety 👍 .
Resolves: https://github.com/helpscout/blue/issues/361

Coverage remained the same at 100.0% when pulling f872a699cf2d1af4b1ac605fc8faf0a7c3f5e713 on modal-refactor into 6b835dde43653bf646967ef0717826758b3ce44a on master.


Add FileLib.create() and FileLib.delete()

Would be useful for dynamic file saving/resetting and stuff, but make sure FileLib.delete() is limited to inside the ChatTriggers folder to avoid people from making troll modules that delete System32 or stuff like that.

FileLib.write already automatically creates a file. We wont add FileLib.delete for safety reasons.


[Bug Report] RCON Yaml error when using server manual mode

Have you read the Important information text above

[X] Yes i did

Current behavior
When setting up my instance, I can't use the rcon built into the image when the server settings are set to manual instead of environment. As the yaml file is part of the image I also can not change the file due to permissions/persistence.
Desired behavior
Use the env variables to still set the yaml file even if the PalWorldSettings.ini file is set to manual.
Links to screenshots
No response
To Reproduce
Steps to reproduce the behavior:

Start instance with 'manual' for settings
use docker to interact with bash
run rcon
error 'cli: auth: rcon: dial tcp: address tcp/###RCON_PORT###: unknown port'

Software setup

OS: Debian
Docker:  24.0.7
Portainer: 2.19.4

Hardware setup

CPU: i5-3470
RAM: 16G

Additional context
No response

Hello @robertlane - First of im reallllyyyy confused here .....
 This is YOUR choice. There is no in-between like an semi-auto. Its either A or B. One is new-user friendly and one is the advanced/pro-user approach, who knows how to get around.
So you did make a choice to do everything yourself, by choosing manual, your free to do that.
As doing this is an advanced setting, i didnt expect to have to explain this, but by choosing this comes work too.

When setting up my instance, I can't use the rcon built into the image when the server settings are set to manual instead of environment.

Thats not true, im listing in the software used in the readme at the bottom, it states the the rcon-cli is from https://github.com/gorcon/rcon-cli - Like reading on that page 15 seconds later in the examples i know that i can also use this with params like this:
$ docker exec palworld-dedicated-server rcon -a <IP_ADDRESS>:25575 -p adminPasswordHere1 info
Welcome to Pal Server[v<IP_ADDRESS>] jammsen.test.local

And it works just fine, just not without the alias and that elegantly ...

As the yaml file is part of the image I also can not change the file due to permissions/persistence.

Again also not true, you could just copy the rcon.yaml to your host via docker cp palworld-dedicated-server:/home/steam/steamcmd/rcon.yaml /your/host/path/target/here, now you have the file, configure it to your liking and then use a volume mount to that specific file like this:
    volumes:
  ........
      - /yourpathhere/rcon.yaml:/home/steam/steamcmd/rcon.yaml

OR

    volumes:
      - type: bind
        source: /yourpathhere/rcon.yaml
        target: /home/steam/steamcmd/rcon.yaml

Remember to setup your permissions right!
When bind-mounting a directory from the host in a container, files and directories maintain the permissions they have on the host. This is by design: when using a bind-mount, you're giving the container access to existing files from the host, and Docker won't make modifications to those files ... ( Source: https://stackoverflow.com/a/50325808 )
Im not sure what to make out of this, you "report a bug" here .... with statements that are not true, because the problems you are facing are solveable with like 15 seconds of google. What do you expect me to fix here? I dont see a bug here that needs fixing to be honest.
If you would have wrote an issue as a Feature Request to maybe have an "semi-auto-mode" or so, this would be a totally different story, but you choose "Bug Report" to report an error and i simply dont see one here. Please tell me if im missing something here ... im open to feedback ... but im getting the feeling you wanted to go manual, but didnt have the experience around Docker to really do it? 😕 ❓

Hi @jammsen  - First off, thank you for this project, it has been very helpful.
I realized while re-reading this I did leave out some info, my apologies. I was concerned about the internal scripts requiring rcon not firing off. I have a log full of them.
time="2024-02-09T08:00:06-06:00" level=info msg="cli: execute: auth: rcon: dial tcp: address tcp/###RCON_PORT###: unknown port" channel=stderr iteration=6 job.command=/backupmanager.sh job.position=0 job.schedule="0 * * * *" time="2024-02-09T08:00:06-06:00" level=error msg="error running command: exit status 1" iteration=6 job.command=/backupmanager.sh job.position=0 job.schedule="0 * * * *"
I had forgot however about binding over the top of the file, so this does indeed correct the issue. Thanks again.

Well this was a known bug and already fixed for days on develop and yesterday published on to master/latest.
See: https://github.com/jammsen/docker-palworld-dedicated-server/commit/f30bef17edfd9fba390f6c0b6e4256ec45a6069d#diff-3b41cd2eeb76ac64c4b71b9cc6b253b358ab737f50d54e333b631ca27357e98eL54
So if you set your setting to manual and the RCON_ENABLE isnt set in Docker-Compose, the default set will catch in the Dockerfile, where RCON_ENABLE=false, therefore not sending messages.

I've pushed the new image and agree we are good to call this solved.

If you like this project, please consider giving this repo and the Docker-Hub-Repo a Star.


MOON-61  : Export component

JIRA

https://jira.jahia.org/browse/MOON-XXX
Description
XXX component definition
Tests
The following are included in this PR

[ ] Unit Test skeleton

Checklist

[ ] All files present ( component - md - scss - spec - stories )
[ ] Are all props ok and documented
[ ] Required props and default values
[ ] Example in storybook

Documentation

[ ] README documentation

oups ... sorry


zsh: command not found: suspenders

When i try to run the following command i get an error
Sites  suspenders thoughtbot
zsh: command not found: suspenders
I am trying to to find in the readme what path should i add to my ZSH?

Did you install the gem with gem install suspenders? Did you switch ruby versions? Gems are installed per ruby version. Do other CLI tools installed as gems work (e.g. rails new) ?

@JoelQ i have installed suspenders. i have the following ruby version ruby - 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14] and am using rbenv for managing ruby.
yes rails new works.

Does gem list suspenders show anything?

@JoelQ
gem list suspenders
*** LOCAL GEMS ***
suspenders (1.29.0)

You may need to rbenv rehash https://github.com/sstephenson/rbenv#rbenv-rehash

@JoelQ weird when i try now its all working fine :(
if i have a previously used app which used suspenders and want to change the ruby version to the latest. Mine is ruby - 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]
How can i do it? when i try to run bundle it says rbenv doesnt have 2.2.0 ruby version.

You will probably want to edit the .ruby-version file and the ruby version declaration at the top of the Gemfile to be 2.2.2

thank you @JoelQ


How to get handlebars to call get() method on context?

I'm using handlebars by itself with an Ember Object as context. I'd like it so that it works as it does in Ember+HTMLBars, where it seemingly calls get() instead of assuming context is a POJO.
var C = Ember.Object.extend({
  value: Ember.computed(function() { return "hello"; })
});
var template = Handlebars.compile("My ember object: {{value}}");
var str = template(C.create());

assert.equal(str, "My ember object: hello"); // Fails. str == "My ember object: [object Object]"

Is there a way to have handlebars call get()?

I see mention of the feature in old Ember source code, but it's not clear to me where they are calling get(). https://github.com/emberjs/ember.js/blob/v1.9.1/packages/ember-handlebars-compiler/lib/main.js#L48

Ah, found the docs for nameLookup. For others wanting to do this, see the very bottom section "Example for the compiler API" here: https://github.com/wycats/handlebars.js/blob/c9970200a04a8629b5e9b1ed3c540d391ab00f26/docs/compiler-api.md


Add appropriate "fill" colours to Buttons to match "color"

It's relatively common to add SVG icons to buttons, rather than using icon fonts. It would be convenient if we added fill styling that matches the colors of the buttons (i.e. white on .btn-primary, by default); otherwise I imagine there will be many people duplicating that code when using Bootstrap.

some users will use SVGs that need a fill, while others will be using SVGs that just rely on stroke. as such, i think it should be left up to authors to add their specific customisation depending on the kind of SVG they're adding.

I suppose so. If its all the same, I'd like to leave the issue open a short while to hear other opinions. Personally, I think leaving a default for fill out will mean a great deal of duplication in usage of bootstrap, but I can understand your point of view :)

@robcresswell You could create utility classes that declare fill: currentColor/stroke: currentColor.
Declaring a default fill would override fill attributes (but not inline styles).
https://css-tricks.com/almanac/properties/f/fill/


db shell with bad hostname yields error 'unsupported protocol scheme "libsql"'

$ turso db shell libsql://asdfasd.asd
Error: failed to run shell: failed to connect to database: Post "libsql://asdfasd.asd": unsupported protocol scheme "libsql"

The error message states incorrectly that libsql is not a supported scheme.  The actual error is that the hostname wasn't found.

@CodingDoug, I've tested after this PR (that make it possible to use localhost again) and the behavior that  I'm getting this:
go run ./cmd/turso/main.go db shell libsql://asdfasd.asd
Error: failed to connect to database

When trying with turso.io domain it tries for a long time to connect, eventually reaches the timeout and returns the same thing:
go run ./cmd/turso/main.go db shell libsql://asdfasd.turso.io
Error: failed to connect to database

Is taking long a problem that we should keep track? What do you think?
If yes, should we use this issue to do that or I can close this and open a new one?

@luisfvieirasilva So I just discovered that all hosts under .turso.io resolves with the same IP address.  That's a very different situation than a host that doesn't resolve at all.  It's good that the shell fails eventually, but maybe @athoscouto has some thoughts on how to make this better.

We have a *.turso.io DNS entry that serves as a fallback domain resolution.
But every database has its $DB-$USER.turso.io domain that resolves to a unique IPv6 and a shared IPv4.
If you try to connect to not-found-domain.turso.io your request will be routed using the wildcard domain.
The service that receives tries to find a database for it until it times out.
It won't check if the database exists though, it assumes you know what you're doing.
We may fix it by making sure it checks if the database exists.
But we must be careful, this shouldn't increase the latency for databases that exist.
I'd rather fix it on the CLI by checking, before connecting to a turso.io database, if it exists.
We had this logic before.
Also, since we're at it, turso db shell is not working when you try to connect to specific instances.
It will just connect to the database, not the specific instance you were asking for.

If i'm understanding this correctly @athoscouto there are a two things that we could do to improve the CLI here:

Shell is currently not able to connect to a replica and only connects to the primary - we should instead allow this
If the shell encounters a turso.io hostname, it should check to make sure the db exists first before connecting (this fixes the timeout problem)

And if the host isn't turso.io, just connect to it anyway, which is what we want for local development or other self-hosted sqld. That was the original issue.


Add support for Action conditions in pull request events

Done as a part of https://github.com/drone/drone/issues/2685. Requires the work done in https://github.com/drone/drone-yaml/pull/48
In the process I found the trigger/trigger_test.go tests we're panicing. It seemed to be coming from the yaml unmarshaller not understanding the test data and generating nil value pipelines. Change it to something that worked but would be curious if there's a different way to fix it as I didn't fully understand all the unmarshalling logic.
Adds the rest of the work needed to process a pull_request event's action. Useful if you only want to trigger a pipeline on the opening of a pull request.
Has been tested locally with a personal github repo and this drone configuration:
---
kind: pipeline
name: "only on open"

steps:
- name: echo
  image: golang
  commands:
  - echo "this only triggers on open"

trigger:
  event:
  - pull_request
  action:
  - opened
---
kind: pipeline
name: "all pr events"

steps:
- name: echo
  image: golang
  commands:
  - echo "this should always trigger"

trigger:
  event:
  - pull_request

 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.

Looks really solid. To hook everything up to the when clause you will also want to pass the Action to the filter func args here https://github.com/drone/drone/blob/master/operator/runner/runner.go#L261

Cheers, yeah was just working on that too. It should be working now, have tested it with this pipeline:
kind: pipeline
name: test
steps:
- name: echo only
  image: golang
  when:
    event:
    - pull_request
    action:
    - opened
  commands:
  - echo "this only triggers on open"
- name: all pr events
  image: golang
  when:
    event:
    - pull_request
  commands:
  - echo "this triggers on all"

@bradrydzewski I think the last thing to do to get the build passing is releasing a new drone-yaml to get access to the Action field in SkipData


Can't access event.requestContext.authorizer.claims

Hi there, I have an issue after I've included the new changes. On the serveless.yml I have set a function like below.
rec-list:
    handler: rec-list.main
    events:
        - http:
            path: recs
            method: post
            cors: true
            authorizer: aws_iam

But when I call the api I can't access custom fields from the cognito user like I used before:
event.requestContext.authorizer.claims['custom:account']
I get an error saying the authorizer is undefined. Any ideas how to get the cognito user custom fields with the new changes?

@rafapetter That's a really good question. With the IAM way of authorization you don't have direct access to the custom attributes of your User Pool. While this sounds bad, it kinda makes sense because the Identity Pool is just tying different identity providers (User Pool, FB, or Google) together.
I'm not sure what you are using the custom attribute for but you might want to look into Cognito Sync - http://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sync.html. What are you storing in the custom field?

@jayair, first of all, great tutorial. I've forward it to a few friends that wanted to dip their toes on React, and everyone loved it.
Ok, to your question... I've created a custom field called account, which is an ID to link one or more users in my app to the same organization. It would have the same role as userId in your tutorial, except that I need that record to be readable to other users from the same organization.
To solve that I might actually need to send account ID on almost every api request. But I was trying to avoid that, by getting the account ID through the event.requestContext.
Do you think I could solve that by using Cognito Sync?

@rafapetter Thanks for the kind words.
AFAIK, with Sync you can very easily get/put something on a per user basis on the client side. I haven't looked into reading it on the Lambda side yet. But from the sounds of it you just want it on the client?
You can read a bit more about Sync here - https://github.com/aws/amazon-cognito-js#usage.

@jayair Actually, I'm looking for a solution on the lambda side. I'm currently calling getUserAttributes method when the page loads, so that already brings me the user custom fields.
I guess Cognito Sync could replace it if I needed any offline operation, but currently it's not the case. And even if I change I would still need to keep passing the custom field, account ID, on almost every api call to lambda. Which means I would have to replace the GET for POST calls. So I'm not sure if it's safe to pass the ID like that, since it represents the partition key of most of my DynamoDB tables.

@rafapetter I see. That does seem tricky.
Out of curiosity, how come you aren't storing this account id in the DB?

I am. There's a table called Account, which stores all organization related fields. And every other table related to Account has account_id in the primary key, as the partition key.
For instance, there's a table called "Channel" which has a many-to-one relationship with "Account". So the primary key for Channel is:
Partition Key: account_id
Sort Key: channel_id

Then, on lambda, to access channel records from an specific account I do have to query with account_id.

@rafapetter I might not be completely clear on this but do you have a mapping of the user_id to account_id in the database? If you do then you wouldn't need to pass it in with every request right?

@jayair I'm sorry for the long delay.
To your question, yes I do. I was just trying to avoid an additional query on DynamoDB for every call made to the API.
I'm currently reading into the newest updates from your tutorial. The session expiration was definitely a hard problem, thanks for finding a solution.

@jayair I'm sorry for the long delay.
To your question, yes I do. I was just trying to avoid an additional query on DynamoDB for every call made to the API.
I'm currently reading into the newest updates from your tutorial. The session expiration was definitely a hard problem, thanks for finding a solution.

@rafapetter Did you ever figure out how to access the custom:attributes in Cognito from event.requestContext???
I have a primary accountID that I need to capture from Cognito that I have defined as a custom:attribute also. I want to get it from Lambda on the backend because I want to make sure that this ID is coming from an authenticated user and not my db. Based on the ID I get from Cognito as stored in the custom:attributes for this authenticated user, then and only then do I want to query my db.
Im having trouble figuring out how to get this data from event.requestContext...
Anybody have any ideas?

@lopezdp ,
Are you able to access the custom claims through event.requestContext.authorizer.claims?

Oh boy did I solve this... Basically helped me to create the Authorization strategy I now use on every project. Do me a favor; Ill share my code and the answer if you ask the question on stack overflow. Copy the link to the question and send it to me in a reply here and Ill give it to you there... I noticed of all the questions on SO for this issue, absolutely none of them have the correct answer. I need my SO Points! :)
Its not going to come from event.requestContext.authorizer.claims

As you mentioned your question link:  https://github.com/AnomalyInnovations/serverless-stack-com/issues/115
I am interested in this as may be it can solve my issue https://stackoverflow.com/questions/71763782/unit-testing-how-to-send-path-parameter
Any idea, please share


Option disable logs

Right now the library is outputting an enormous amount of logs, I added an option to disable them.

Thanks a lot, that was really needed

Hello,
I prefer create a method to set value instead of set it in all constructors. This feels more cleaner for me, it avoid change code after update library version and you can do it on fly. Also I want add this to RTSP.
I will let you few days if you want update PR or discuss about it in this post to find a better solution. After that, I will merge the final solution.
If you want do it in old version you can do it using proguard.

Hi Pedro, I think there must be a flag somewhere to enable/disable logs and then from there anyone can choose

What do you means with "flag"?
I means something similar to a method in RtmpCamera1 like this:
public void setLogs(boolean enabled) {
  srsFlvMuxer.setLogs(enabled);
}

Yeah just that a Boolean, 🙂

Sure, I'll change the implementation for  a cleaner solution that won't affect existing clients.

I removed the option from the constructors and added a setter method instead as you suggested. I have never seen before the depths of the library so I don't know if I missed something, if anything should be done differently please tell me and I will change it.

I fixed a bug in RTSP and merged it. Thank for your PR!


OECD exchange rates dataset

for adjusting the unwto tourism (for inflation and/or cost of living) data later

I checked some exchange rates of the final dataset and they look good (well, except of Argentina...). Just a heads up that we'll be updating WDI dataset this week, would it make any difference for you?

thank you!! actually yep the PPP variable from the WDI will be useful for my AI updates and maybe some other charts on the tourism topic page as well :) but I don't think the WDI dataset has exchange rates, or does it?

It doesn't. I just thought you might use newer fp_cpi_totl (CPI) from WDI, but probably not. Go ahead and merge this!

It doesn't. I just thought you might use newer fp_cpi_totl (CPI) from WDI, but probably not. Go ahead and merge this!

thank you! :) ah yeah for this maybe it doesn't matter because the latest tourism data is 2021 but will definitely end up being useful for other things I am working on atm. will merge later tonight when I have a spare couple of hours to make sure it doesn't massively mess up the rest of my tourism charts. still scared of merging stuff haha :D


[Docs]  Error connecting to https://snarkvm.org (http works)

📚 Documentation

An error occurred during a connection to snarkvm.org. PR_END_OF_FILE_ERROR.

This is from Firefox. Similar error using Chrome.
Link works (redirects back to repo) with http but not with https (currently points to).

Thanks for bringing this up, the URL has been fixed.


JenkinsDownloadArtifactsV1 - migrate to Node 10

We need to migrate JenkinsDownloadArtifactsV1 to Node 10 - since Node 6 will be removed soon from agent.
Related parent issue - #15183

@Lovakumar could you please take a look?


[WIP] Send events to Kontena Cloud in real time

This PR tracks changes in Grid, GridService, HostNode, Container and User models and sends fresh data to Kontena Cloud when the model changes.
json-serializer gem is used to serialize models to json (later on all the views can be replaced with the related serializers).
Currently Container models are not serialized but instead when container changes, update event for the related GridService will be sent. Not sure should we send also container data in real time to Cloud.
Also MongoId has a bug(?) on relation callbacks: When the relation object is removed, model still has it on callback method execution. Workaround for this is not to execute callbacks on remove event but call explicitly update method when relation is removed from the model.
WebSocket sends events as MessagePack RPC notification message: [2, method, [params]]. Method is combination of resource#action, for example GridService#create. In params the first parameter is grid_id, the second is the array of users' external ids that can receive the message and the third is the object itself as json string.

Note that #1873 also adds server model serializers.

This event stream concept is also relevant for both any grid metadata API implementation designed to replace the current Docker API + etcd approach, as well as the agent refactoring stuff currently going on.
The EventStream -> MongoPubsub implementation here would also work for that, it would just be a question of subscribing to those mongo pubsubs in the agent RpcServer and any possible metadata API implementation.

Needs merge of #1855

@SpComb I changed this now so that only EventStream module checks that MongoPubsub has been started before publishing events.

Just removed token from serializer classes. Will do separate PR to remove it from responses returned by Rest API.

Needs merge after #1873

Waiting for status/merge once this is smoke-tested to work.


Jinx R: Implemented Speed Rational Function

Speed value takes into consideration the distance to target.

Can not be implemented this way, but will add the functionality in another way.


Bump msrv to 1.60

CI fails in #3184 because the log crate now requires rustc version 1.60.

Do we need to bump it? Is log a dependency? Or just a dev-dependency?

i just ran cargo tree it is under the normal dependency tree under want and mio.

If we upgrade to want 0.3.1, it no longer depends on log. And by removing the default-features from mio, we'll be free!

It looks like want0.3.1 fixes the issue. No change needed.
Can you re-run CI in #3184


Find a way to test Conventions

Since conventions are getting more and more the center of the world it is very easy to introduce breaking changes, we should find a way to test them in isolation taking into account that they require WPF.
@micdenny @enosrecanati ideas?

This issue was moved to RadicalFx/Radical.Windows.Presentation#7


Changed the task completed toggle button to checkbox

issue: #65

share the screenshot

is that ok?

yes

Thanks for your valuable contribution.


Add check to not flush when table is being deleted.

The CleanUp step of deletes will wait until all tablets of a tablet
are unassigned. This will stop the memory mgr from flushing if the table
is being deleted, allowing it to be unassigned faster.

I forgot to run the ITs when I opened this the other day.  This changes touches important code so running them now.

I forgot to run the ITs when I opened this the other day.  This changes touches important code so running them now.

I saw a timeout failure in org.apache.accumulo.test.functional.ConcurrentDeleteTableIT.  I didn't see any obvious errors but didn't have a chance to look into it further.

I saw a timeout failure in org.apache.accumulo.test.functional.ConcurrentDeleteTableIT.  I didn't see any obvious errors but didn't have a chance to look into it further.

I saw a timeout failure in org.apache.accumulo.test.functional.ConcurrentDeleteTableIT. I didn't see any obvious errors but didn't have a chance to look into it further.

That's a known flaky test. It is unlikely this has anything to do with that.

I saw a timeout failure in org.apache.accumulo.test.functional.ConcurrentDeleteTableIT. I didn't see any obvious errors but didn't have a chance to look into it further.

That's a known flaky test. It is unlikely this has anything to do with that.

I was doing some testing using Uno running 2 RW MultiTable jobs and saw a bad situation with this change. The LargestFirstMemoryManager will select the largest tablets to be flushed (default for tserver.compaction.minor.concurrent.max is 4) and if they all happen to be in the table being deleted, no tablets will get flushed and things on the tserver will get stuck. Something is preventing the tablets from being unloaded and this new check stops them from being flushed. I am not sure why they still aren't being unloaded but we may need to revert this change.

... no tablets will get flushed and things on the tserver will get stuck. Something is preventing the tablets from being unloaded and this new check stops them from being flushed. I am not sure why they still aren't being unloaded but we may need to revert this change.

@milleruntime This sounds serious. Have you already created a blocker issue to track this? I wouldn't want it to get lost.

... no tablets will get flushed and things on the tserver will get stuck. Something is preventing the tablets from being unloaded and this new check stops them from being flushed. I am not sure why they still aren't being unloaded but we may need to revert this change.

@milleruntime This sounds serious. Have you already created a blocker issue to track this? I wouldn't want it to get lost.

No I was about to revert the commit.

Reverted this commit with fd001c9ec3a55aa6427667c4143f1d6772739c86 due to my previous comment about the bad situation.

I think this wait in Tablet.completeClose() is what might have been holding up the tablets from being closed:
https://github.com/apache/accumulo/blob/fd001c9ec3a55aa6427667c4143f1d6772739c86/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java#L1268
That would explain why the tablet wouldn't close but I am not sure why minor compaction was started, maybe it was being flushed by another processes? The wait above should only happen if this code was called:
https://github.com/apache/accumulo/blob/4051a8c23be6f901585e07a6170b57383b2ecd69/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/TabletMemory.java#L61

@milleruntime do you have an tserver stack traces from when it got stuck?  I have been poking around in the code looking for a possible cause, have not found anything yet.
It does seems like the LargestFirstMemManager may only return a subset of the tablets.  So if the subset it returns is always in the deleting state maybe that held up minor compactions from starting.  However something getting stuck in at  getTabletMemory().waitForMinC() should be waiting on a compaction that is runnning or queued to run.  If the threads in the executor service for minor compactions were gummed up, that could cause a problem.

I think this wait in Tablet.completeClose() is what might have been holding up the tablets from being closed:

What made you think this?

@milleruntime do you have any tserver stack traces from when it got stuck? I have been poking around in the code looking for a possible cause, have not found anything yet.

There weren't any errors, it was just the state of the tserver that I observed. It seemed no flushes from the memory manager were happening because the 4 tablets that were chosen by LargestFirstMemoryManager.tabletsToMinorCompact() were being rejected.  Here is what was showing up in the logs repeatedly:

2021-02-01T15:26:09,855 [memory.LargestFirstMemoryManager] DEBUG: COMPACTING 2k;6;5  total = 178,210,928 ingestMemory = 178,210,928
2021-02-01T15:26:09,855 [memory.LargestFirstMemoryManager] DEBUG: chosenMem = 2,614,281 chosenIT = 313.02 load 3,326,974
2021-02-01T15:26:09,855 [memory.LargestFirstMemoryManager] DEBUG: COMPACTING 2k;9;8  total = 178,210,928 ingestMemory = 178,210,928
2021-02-01T15:26:09,855 [memory.LargestFirstMemoryManager] DEBUG: chosenMem = 2,544,515 chosenIT = 313.02 load 3,238,194
2021-02-01T15:26:09,855 [memory.LargestFirstMemoryManager] DEBUG: COMPACTING 2k<;9  total = 178,210,928 ingestMemory = 178,210,928
2021-02-01T15:26:09,855 [memory.LargestFirstMemoryManager] DEBUG: chosenMem = 2,534,061 chosenIT = 313.02 load 3,224,885
2021-02-01T15:26:09,855 [memory.LargestFirstMemoryManager] DEBUG: COMPACTING 2k;4;3  total = 178,210,928 ingestMemory = 178,210,928
2021-02-01T15:26:09,855 [memory.LargestFirstMemoryManager] DEBUG: chosenMem = 2,431,564 chosenIT = 313.02 load 3,094,446
2021-02-01T15:26:09,855 [tablet.Tablet] DEBUG: Table 2k is being deleted so don't flush 2k;6;5
2021-02-01T15:26:09,855 [tserver.TabletServerResourceManager] INFO : Ignoring memory manager recommendation: not minor compacting 2k;6;5
2021-02-01T15:26:09,855 [tablet.Tablet] DEBUG: Table 2k is being deleted so don't flush 2k;9;8
2021-02-01T15:26:09,855 [tserver.TabletServerResourceManager] INFO : Ignoring memory manager recommendation: not minor compacting 2k;9;8
2021-02-01T15:26:09,855 [tablet.Tablet] DEBUG: Table 2k is being deleted so don't flush 2k<;9
2021-02-01T15:26:09,855 [tserver.TabletServerResourceManager] INFO : Ignoring memory manager recommendation: not minor compacting 2k<;9
2021-02-01T15:26:09,855 [tablet.Tablet] DEBUG: Table 2k is being deleted so don't flush 2k;4;3
2021-02-01T15:26:09,855 [tserver.TabletServerResourceManager] INFO : Ignoring memory manager recommendation: not minor compacting 2k;4;3

I think this wait in Tablet.completeClose() is what might have been holding up the tablets from being closed:

What made you think this?

Since the tablets should have been unloaded, I was just looking through the code to try and figure out what was preventing them from unloading. I was guessing that something else triggered a flush for the tablet calling Tablet.prepareForMinC() and would prevent the getTabletMemory().waitForMinC() call in the close from finishing. But now that I think about it more, if this happened, there shouldn't have been anything preventing the other flush thread from completing since the check I added is in Tablet.initiateMinorCompaction().

It could just be a lack of resources when it gets to the state where the largest tablets are being deleted. The Memory mgr isn't able to clear out the biggest chunks of memory so everything slows down. I saw it happen again but eventually the tablets get unloaded and deleted. So maybe this change just needs more work. I am thinking we might be able to just remove the tablets being deleted from the memory reports, moving things along.

I created an enhanced version of this change in https://github.com/apache/accumulo/pull/1899