Блог пользователя hayagrivan.dj

Автор hayagrivan.dj, история, 22 месяца назад, По-английски

Hey everyone at Codeforces!!

Codeforces is a really well structured website, it is really easy to navigate to a problem and track your peers.

Atcoder on the other hand, though it does has some cool features feel hollow when compared to Codeforces. It is like being surrounded by walls.

So I have implemented a few features which are already present on Codeforces in AtCoder. I used Kenkoooo API to fetch rating for each problem and did get some inspiration from CF Analytics. Here are the features and the link to extension of course!!

Link for the extension: AC Analytics

Key Features

  1. Activity Calander : Is added to better track your progress like in Github and Codeforces.

  2. Problems Solved by Rating : See what you had been solving and up solve when needed.

  3. Unsolved Problems : Easily identify and tackle unsolved problems to improve your skills.

  4. Submission History: Access your submissions and others enabling you to monitor everyone's performance

  5. Additional Stats: Gain valuable insights with a range of extra statistics.

  6. Bookmark Problems: Save problems for later review or practice, ensuring you never lose track of important challenges.

  7. Problem Set with Filters: Browse and filter all problems from the AtCoder platform to find exactly what you need.
  8. Daily Reminders: Set daily reminders to stay consistent and disciplined in your problem-solving practice.

Updates:

  • 2/7/24: Reported bugs fixed, filter by solved problems added, option to disable rating in task page is added. CP companion extension still doesn't work, will look into it.

Please do suggest if any features are needed and report any bugs if found! As far as I know the reminders has some trouble working consistently which I'll fix on the next patch.

Thanks for reading this blog :)

  • Проголосовать: нравится
  • +154
  • Проголосовать: не нравится

»
22 месяца назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

In problemset filters please make max rating inclusive 

»
22 месяца назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

nice, thanks.

»
22 месяца назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

It's working. Would be good if you can add topic-wise filter

»
22 месяца назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

Good Job Bro!

»
22 месяца назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

Awesome. Thanks for this!

»
22 месяца назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

Very cool, thanks for making this.

»
22 месяца назад, скрыть # |
 
Проголосовать: нравится +12 Проголосовать: не нравится

Its great extension, but please add it in firefox add-ons too, as it is only available to chromium users.

»
22 месяца назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

Amazing. Do you have any plans for making it available on firefox ?

»
22 месяца назад, скрыть # |
Rev. 2  
Проголосовать: нравится +2 Проголосовать: не нравится

Thanks for the extension.

Feature Request:

  • In the problemset section, mark the solved problems as green and unsolved (problems that I tried but could not solve) problems as red.
  • Add an option to hide or show solved problems (similar to codeforces).
»
22 месяца назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

very helpful, Thanks.

»
22 месяца назад, скрыть # |
Rev. 2  
Проголосовать: нравится +1 Проголосовать: не нравится

Nice extension!

Bug: The coloring of 2300~2700 seems to be wrong.

»
22 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

What is the tech — stack you used to build it, also if you don't mind can you share the documentation? Thankyou!

»
22 месяца назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

Great extension! You should add hide problem rating too. Sometimes seeing the rating make solving problem unnatural.

»
22 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Do you have a github repository for this project? I'd like to see it… Thx a lot for your tool

»
22 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Good initiative

»
22 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

helpfull

»
22 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Why aren't certain submissions during the contest counted?

»
22 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Good job

»
5 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

not work now

»
5 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Is there an extension that helps to sort based on tags on AtCoder?

»
5 месяцев назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

Thanks for letting me know this extension, it is really useful

»
4 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

So, I solved some of the questions of 900 and 1000, but i am not able to see on my profile problem chart. Neither it is getting green on my activity calendar.

Is this API problem, but using your extension I can see problem ratings on task page. So, please fix it or help me why i am not able to see.

  • »
    »
    4 месяца назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    I believe this is an API problem. My extension is dependent on the third-party API kenkoooo, however, it seems his data collector has been down for a while now. I will try hosting my own scraper, but I found it to be much slower than kenkoooo's API since I needed to use IP rotation otherwise. It will take time though :(

»
4 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

hayagrivan.dj

Issue: CompetitiveCompanion — Atcoder Parser kept failing because of installing AC Analytics.

Could you please edit manifest of this extension to not work on Problem Page? Or like make it compatible with CompetiveCompanion Extension.?

Could you please opensource it? — It would make it easier to maintain and fix issues for me.

  • »
    »
    4 месяца назад, скрыть # ^ |
    Rev. 4  
    Проголосовать: нравится 0 Проголосовать: не нравится

    I found a workaround.

    • Find Install path of extension using Extension ID

      • Windows: C:\\Users\\[YourUsername]\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Extensions\\{ExtensionID}
      • Linux: ~/.config/google-chrome/Default/Extensions/{ExtensionID}
    • Edit Manifest.json — It's better to copy extension folder to another folder and then edit.

    add below line afer every "matches":[]

          ,"exclude_matches": [
            "https://atcoder.jp/contests/*/tasks/*"
          ],
    }
    
    • Load Unpacked.
    • »
      »
      »
      4 месяца назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      Hi!! I hope the errors you face while using CompetitiveCompanion are the following

      Image1 Image2

      The problem occurs due to the rating being inserted in the page, which seems to render the CompetitiveCompanion Atcoder Problem Parser useless. If I exclude this page then this feature has to be removed.

      There is a provision to disable this feature in the AC Analytics extension's pop-up as shown in the image below. This worked for me, but if you do face more difficulties let me know by personal chat.

      Image3

»
3 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Hey, I guess it is not working currently ??

  • »
    »
    3 часа назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    I guess you're using the latest version of Chrome.

»
3 часа назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Bug Report: Extension fails to render on latest Chrome due to implicit Promise in onMessage listener

Hi Developer,

First of all, thank you for creating this amazing extension! I’ve been using it for a while, and it’s incredibly helpful.

I recently encountered an issue where the extension stopped working on the latest versions of Google Chrome. The background script was returning null to the content script, resulting in the following console error: TypeError: Cannot read properties of null (reading 'htmlResponse')

After some debugging, I found that the root cause is related to how the latest Manifest V3 Chrome handles Promises in chrome.runtime.onMessage listeners.

In your background script (where the popup alarm listener is defined), there is this line:

chrome.runtime.onMessage.addListener((request,sender,sendResponse) => update(request,sender,sendResponse));

Because this arrow function lacks curly braces {}, it implicitly returns the result of the update() function. In recent Chrome updates, if an onMessage listener returns a Promise, Chrome immediately assumes the channel is asynchronous and takes over the response handling. This interrupts the return true; logic in the other appendHTML listener, forcing the channel to close prematurely and sending a null response back to the frontend.

The Fix: Simply wrapping the update function in curly braces cuts off the implicit return, and it perfectly resolves the crash on my end:

chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
    update(request, sender, sendResponse);
});

I've tested this fix locally as an unpacked extension, and everything works flawlessly again.

Could you please apply this minor fix in the next update? Thanks again for your hard work!

Best regards, A regular user

»
117 минут назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Great!! Waiting for something like this.

»
72 минуты назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Where is the submissions page where rating of all submitted problems is shown ? Also where is the activity calendar ?